Author: efriedma
Date: Tue Jun 18 16:33:38 2013
New Revision: 184240

URL: http://llvm.org/viewvc/llvm-project?rev=184240&view=rev
Log:
Make sure the assembler-with-cpp hack for "#" works with multiple "#"s in
succession. Fixes PR16363.


Modified:
    cfe/trunk/lib/Lex/PPDirectives.cpp
    cfe/trunk/test/Preprocessor/assembler-with-cpp.c

Modified: cfe/trunk/lib/Lex/PPDirectives.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPDirectives.cpp?rev=184240&r1=184239&r2=184240&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/PPDirectives.cpp (original)
+++ cfe/trunk/lib/Lex/PPDirectives.cpp Tue Jun 18 16:33:38 2013
@@ -1920,6 +1920,8 @@ void Preprocessor::HandleDefineDirective
         // confused.
         if (getLangOpts().AsmPreprocessor && Tok.isNot(tok::eod)) {
           LastTok.setKind(tok::unknown);
+          MI->AddTokenToBody(LastTok);
+          continue;
         } else {
           Diag(Tok, diag::err_pp_stringize_not_parameter);
           ReleaseMacroInfo(MI);

Modified: cfe/trunk/test/Preprocessor/assembler-with-cpp.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/assembler-with-cpp.c?rev=184240&r1=184239&r2=184240&view=diff
==============================================================================
--- cfe/trunk/test/Preprocessor/assembler-with-cpp.c (original)
+++ cfe/trunk/test/Preprocessor/assembler-with-cpp.c Tue Jun 18 16:33:38 2013
@@ -77,3 +77,7 @@
 // rdar://8823139
 # ##
 // CHECK-Identifiers-False: # ##
+
+#define X(a) # # # 1
+X(1)
+// CHECK-Identifiers-False: # # # 1


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to