Argyrios Kyrtzidis
647dcd80f0
[preprocessor] Enhance PreprocessingRecord to keep track of locations of conditional directives.
...
Introduce PreprocessingRecord::rangeIntersectsConditionalDirective() which returns
true if a given range intersects with a conditional directive block.
llvm-svn: 152018
2012-03-05 05:48:17 +00:00
Dylan Noblesmith
c95d81924d
Basic: import IntrusiveRefCntPtr<> into clang namespace
...
The class name is long enough without the llvm:: added.
Also bring in RefCountedBase and RefCountedBaseVPTR.
llvm-svn: 150958
2012-02-20 14:00:23 +00:00
Argyrios Kyrtzidis
0d9e24b1db
Change Lexer::makeFileCharRange() to have it accept a CharSourceRange
...
instead of a SourceRange, and handle the case where the range is
a char (not token) range.
llvm-svn: 149677
2012-02-03 05:58:29 +00:00
Douglas Gregor
8992928274
Thread a TargetInfo through to the module map; we'll need it for
...
target-specific module requirements.
llvm-svn: 149224
2012-01-30 06:01:29 +00:00
Argyrios Kyrtzidis
abff5f1271
Improve Lexer::getImmediateMacroName to take into account inner macros
...
of macro arguments.
For "MAC1( MAC2(foo) )" and location of 'foo' token it would return
"MAC1" instead of "MAC2".
llvm-svn: 148704
2012-01-23 16:58:33 +00:00
Argyrios Kyrtzidis
85e7671b71
Enhance Lexer::makeFileCharRange to check for ranges inside a macro argument
...
expansion, in which case it returns a file range in the location where the
argument was spelled.
llvm-svn: 148551
2012-01-20 16:52:43 +00:00
Benjamin Kramer
704fe866b2
Silence set-but-unused warning.
...
llvm-svn: 148496
2012-01-19 21:12:23 +00:00
Argyrios Kyrtzidis
7838a2bffb
Introduce Lexer::getSourceText() that returns a string for the source
...
that the given source range encompasses.
llvm-svn: 148481
2012-01-19 15:59:19 +00:00
Argyrios Kyrtzidis
a99e02d019
Introduce Lexer::makeFileCharRange() that accepts a token source range
...
and returns a character range with file locations.
llvm-svn: 148480
2012-01-19 15:59:14 +00:00
Argyrios Kyrtzidis
1b07c344b4
For Lexer's isAt[Start/End]OfMacroExpansion add an out parameter for the macro
...
start/end location.
It is commonly needed after calling the function; with this way we avoid
recalculating it.
llvm-svn: 148479
2012-01-19 15:59:08 +00:00
Argyrios Kyrtzidis
d169911cc0
Add unit testing for Lexer.
...
llvm-svn: 148478
2012-01-19 15:59:01 +00:00