Community
Participate
Working Groups
CDT 1.1 GA. Visual Studio 6. I imported a Visual Studio 6 project with a file containing: #include ".\MICore\Session.h" This shows up in the Outline as ".MICoreSession.h" [should contain backslashes] Selecting the item in the Outline highlights the following text in the editor: #include ".\MICore\Session.h" ---------------- [should also include the first two characters] Further experimentation showed that the number of backslashes affected the number of missing characters highlighted in the editor. The workaround is to change the backslashes to slashes.
Agreed. No interpretation should done by the parser on the include string. The include string should be pass "as is" to be interpreted by the underlying filesystem in dependent manner. Seems a bug to me. Reassing to John, the parser god.
Created attachment 5061 [details] Patch The problem is caused by the scanner: it mistreated '\' characters. getChar() handles "'\' as the last character on the line" scenario, where '\' and the end-of-line are correctly skipped (imitating preprocessor activity). But it didn't backtrack properly in other cases, effectively skipping '\' characters anywhere else in the code (outside strings). You could write cl\ass C\Foo\Bar { and it was automagically transformed to class CFooBar { for the parser. Now getChar() does additional ungetChar() in case '\' is not the last character on the line (and it throws ScannerException, from ungetChar()).
I have applied your patch to both HEAD and Parser_SymbolTable branches.
Verified in 1.2.0.3 Closing.