diff options
author | Andy Gibbs <andyg1001@hotmail.co.uk> | 2012-11-17 19:18:27 +0000 |
---|---|---|
committer | Andy Gibbs <andyg1001@hotmail.co.uk> | 2012-11-17 19:18:27 +0000 |
commit | 3f03b586351779be6947466f530f22c491b1b70f (patch) | |
tree | eabb6e54ff57bc6e0c350506e8e9f19e6fb4e9e9 /lib/Lex/PPMacroExpansion.cpp | |
parent | 97f8461a2c553f68a258612d2322e4281c3f0915 (diff) |
Prevent premature macro expansion in __has_builtin, __has_feature,
__has_attribute, __has_extension, making them behave more akin to
conventional macros.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168268 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Lex/PPMacroExpansion.cpp')
-rw-r--r-- | lib/Lex/PPMacroExpansion.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Lex/PPMacroExpansion.cpp b/lib/Lex/PPMacroExpansion.cpp index 6baa593e78..1e77317d3e 100644 --- a/lib/Lex/PPMacroExpansion.cpp +++ b/lib/Lex/PPMacroExpansion.cpp @@ -1228,15 +1228,15 @@ void Preprocessor::ExpandBuiltinMacro(Token &Tok) { IdentifierInfo *FeatureII = 0; // Read the '('. - Lex(Tok); + LexUnexpandedToken(Tok); if (Tok.is(tok::l_paren)) { // Read the identifier - Lex(Tok); + LexUnexpandedToken(Tok); if (Tok.is(tok::identifier) || Tok.is(tok::kw_const)) { FeatureII = Tok.getIdentifierInfo(); // Read the ')'. - Lex(Tok); + LexUnexpandedToken(Tok); if (Tok.is(tok::r_paren)) IsValid = true; } |