diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-07-27 05:40:30 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-07-27 05:40:30 +0000 |
commit | fb65e592e05a83eaa3e9cbd645bace6c68438500 (patch) | |
tree | 612eead4ecf3e89b777c0e6b8456282be228d535 /clang/lib/Lex/MacroArgs.cpp | |
parent | fdafb7f7e6827b95c04b465a6b28ad819c0d0909 (diff) | |
download | bcm5719-llvm-fb65e592e05a83eaa3e9cbd645bace6c68438500.tar.gz bcm5719-llvm-fb65e592e05a83eaa3e9cbd645bace6c68438500.zip |
Add support for C++0x unicode string and character literals, from Craig Topper!
llvm-svn: 136210
Diffstat (limited to 'clang/lib/Lex/MacroArgs.cpp')
-rw-r--r-- | clang/lib/Lex/MacroArgs.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Lex/MacroArgs.cpp b/clang/lib/Lex/MacroArgs.cpp index 968c15e3c27..ccd0b705c8b 100644 --- a/clang/lib/Lex/MacroArgs.cpp +++ b/clang/lib/Lex/MacroArgs.cpp @@ -208,7 +208,13 @@ Token MacroArgs::StringifyArgument(const Token *ArgToks, // by 6.10.3.2p2. if (Tok.is(tok::string_literal) || // "foo" Tok.is(tok::wide_string_literal) || // L"foo" - Tok.is(tok::char_constant)) { // 'x' and L'x'. + 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'. bool Invalid = false; std::string TokStr = PP.getSpelling(Tok, &Invalid); if (!Invalid) { |