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 | 83bd8281e556a42b47e5b136691128236d8d1e2f (patch) | |
tree | 649e7479327951e6432d72e3ea828866b90e0c8a /clang/test/Preprocessor/assembler-with-cpp.c | |
parent | be31b7b5346eb07c29c9ab68bc0743cc7d2c3d0e (diff) | |
download | bcm5719-llvm-83bd8281e556a42b47e5b136691128236d8d1e2f.tar.gz bcm5719-llvm-83bd8281e556a42b47e5b136691128236d8d1e2f.zip |
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
llvm-svn: 72388
Diffstat (limited to 'clang/test/Preprocessor/assembler-with-cpp.c')
-rw-r--r-- | clang/test/Preprocessor/assembler-with-cpp.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/clang/test/Preprocessor/assembler-with-cpp.c b/clang/test/Preprocessor/assembler-with-cpp.c index 00080cce9b3..2e84ed1a6b0 100644 --- a/clang/test/Preprocessor/assembler-with-cpp.c +++ b/clang/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 |