diff options
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp')
-rw-r--r-- | contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp b/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp index ed8873d..f6e781a 100644 --- a/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp +++ b/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp @@ -12,9 +12,9 @@ //===----------------------------------------------------------------------===// #include "MacroArgs.h" +#include "clang/Lex/LexDiagnostic.h" #include "clang/Lex/MacroInfo.h" #include "clang/Lex/Preprocessor.h" -#include "clang/Lex/LexDiagnostic.h" #include "llvm/ADT/SmallString.h" #include "llvm/Support/SaveAndRestore.h" #include <algorithm> @@ -23,7 +23,7 @@ using namespace clang; /// MacroArgs ctor function - This destroys the vector passed in. MacroArgs *MacroArgs::create(const MacroInfo *MI, - llvm::ArrayRef<Token> UnexpArgTokens, + ArrayRef<Token> UnexpArgTokens, bool VarargsElided, Preprocessor &PP) { assert(MI->isFunctionLike() && "Can't have args for an object-like macro!"); @@ -215,15 +215,11 @@ Token MacroArgs::StringifyArgument(const Token *ArgToks, // If this is a string or character constant, escape the token as specified // by 6.10.3.2p2. - if (Tok.is(tok::string_literal) || // "foo" - Tok.is(tok::wide_string_literal) || // L"foo" - Tok.is(tok::utf8_string_literal) || // u8"foo" - Tok.is(tok::utf16_string_literal) || // u"foo" - Tok.is(tok::utf32_string_literal) || // U"foo" - Tok.is(tok::char_constant) || // 'x' - Tok.is(tok::wide_char_constant) || // L'x'. - Tok.is(tok::utf16_char_constant) || // u'x'. - Tok.is(tok::utf32_char_constant)) { // U'x'. + if (tok::isStringLiteral(Tok.getKind()) || // "foo", u8R"x(foo)x"_bar, etc. + Tok.is(tok::char_constant) || // 'x' + Tok.is(tok::wide_char_constant) || // L'x'. + Tok.is(tok::utf16_char_constant) || // u'x'. + Tok.is(tok::utf32_char_constant)) { // U'x'. bool Invalid = false; std::string TokStr = PP.getSpelling(Tok, &Invalid); if (!Invalid) { |