diff options
author | Chris Lattner <sabre@nondot.org> | 2009-05-25 17:16:10 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-05-25 17:16:10 +0000 |
commit | 3240469102eca90fa5123ec9636fa0364df3034c (patch) | |
tree | ad2600bcac2f7d2cb04a9299c03d9d47605793b7 /test/Preprocessor/assembler-with-cpp.c | |
parent | 442a661a2b44e78e3c66e35bf842c3dc119dfe92 (diff) |
Fix a couple of bugs:
1. When we accept "#garbage" in asm-with-cpp mode, change the token kind
of the # to unknown so that the preprocessor won't try to process it as
a real #. This fixes a crash on the attached example
2. Fix macro definition extents processing to handle #foo at the end of a
macro to say the definition ends with the foo, not the #.
This is a follow-on fix to r72283, and rdar://6916026
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72388 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Preprocessor/assembler-with-cpp.c')
-rw-r--r-- | test/Preprocessor/assembler-with-cpp.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/test/Preprocessor/assembler-with-cpp.c b/test/Preprocessor/assembler-with-cpp.c index 00080cce9b..2e84ed1a6b 100644 --- a/test/Preprocessor/assembler-with-cpp.c +++ b/test/Preprocessor/assembler-with-cpp.c @@ -58,14 +58,20 @@ // #define T6() T6 #nostring #define T7(x) T7 #x -T6() -T7(foo) -// RUN: grep 'T6 #nostring' %t && -// RUN: grep 'T7 "foo"' %t && +8: T6() +9: T7(foo) +// RUN: grep '8: T6 #nostring' %t && +// RUN: grep '9: T7 "foo"' %t && // Concatenation with period doesn't leave a space -// RUN: grep -F '.T8' %t && +// RUN: grep -F '10: .T8' %t && #define T8(A,B) A ## B -T8(.,T8) +10: T8(.,T8) + + +// This should not crash. +// RUN: grep '11: #0' %t && +#define T11(a) #0 +11: T11(b) // RUN: true |