While going through this patch (http://forums.codeblocks.org/index.php/topic,17130.msg120875.html#msg120875), I noticed that using namespace is only (or at least, seems to be only) parsed in the global scope. Is this a known problem?Note that parser in batch mode (parsing local files) has no need to handle "using namespace" statements in function bodies.
There is another function:bool ParserThread::ParseBufferForUsingNamespace(const wxString& buffer, wxArrayString& result) which handle local using namespace statements.Yes, however on line 414, function bodies are skipped. (I think I have a solution though.)
else if (token==ParserConsts::opbrace)
{
SkipBlock();
}
Another thing: I think TokenIdxSet is better than "std::vector<int>" in the patch.Yes (I have a few other local modifications also).
Another thing: I think TokenIdxSet is better than "std::vector<int>" in the patch.Yes. This patch needs a clean-up. I did it in my local copy as well...
total time: 39 seconds!!)Really seconds? :o
codeblocks --rebuild CodeBlocks-unix.cbpCore i7 quadcore (8 virtual cores), 32 GB Ram, parallel build with 9 threads, build with ccache, with pure g++/gcc it needs 1 minute 46 seconds .
-------------- Clean: tinyXML in Code::Blocks wx2.8.x - Unix (compiler: GNU GCC Compiler)---------------
[...]
-------------- Clean: To-do in Code::Blocks wx2.8.x - Unix (compiler: GNU GCC Compiler)---------------
-------------- Build: tinyXML in Code::Blocks wx2.8.x - Unix (compiler: GNU GCC Compiler)---------------
ccache-g++ -Wall -g -fmessage-length=0 -fexceptions -Winvalid-pch -Ulinux -Uunix -fPIC -I/usr/lib64/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_
[...]
Process terminated with status 0 (0 minute(s), 38 second(s))
0 error(s), 0 warning(s) (0 minute(s), 38 second(s))
Specs please!Dual SSD's in RAID 0, 16 GB RAM, and i7-3970X (hexacore, 12 virtual cores, 4.2 GHz).
...I won't tell you mine then. :'(:D