diff options
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Preprocessor/hash_line.c | 13 | ||||
| -rw-r--r-- | clang/test/Preprocessor/macro_expand_empty.c | 14 | ||||
| -rw-r--r-- | clang/test/SemaCXX/warn-empty-body.cpp | 5 |
3 files changed, 26 insertions, 6 deletions
diff --git a/clang/test/Preprocessor/hash_line.c b/clang/test/Preprocessor/hash_line.c index 64edae0d957..c4de9f04044 100644 --- a/clang/test/Preprocessor/hash_line.c +++ b/clang/test/Preprocessor/hash_line.c @@ -1,11 +1,12 @@ // The 1 and # should not go on the same line. // RUN: %clang_cc1 -E %s | FileCheck --strict-whitespace %s -// CHECK-NOT: 1{{.*}}# // CHECK: {{^1$}} -// CHECK-NOT: 1{{.*}}# -// CHECK: {{^ #$}} -// CHECK-NOT: 1{{.*}}# -1 +// CHECK-NEXT: {{^ #$}} +// CHECK-NEXT: {{^2$}} +// CHECK-NEXT: {{^ #$}} #define EMPTY +#define IDENTITY(X) X +1 EMPTY # - +2 +IDENTITY() # diff --git a/clang/test/Preprocessor/macro_expand_empty.c b/clang/test/Preprocessor/macro_expand_empty.c new file mode 100644 index 00000000000..3fb6394dc9e --- /dev/null +++ b/clang/test/Preprocessor/macro_expand_empty.c @@ -0,0 +1,14 @@ +// RUN: %clang_cc1 -fsyntax-only %s +// Check that this doesn't crash + +#define IDENTITY1(x) x +#define IDENTITY2(x) IDENTITY1(x) IDENTITY1(x) IDENTITY1(x) IDENTITY1(x) +#define IDENTITY3(x) IDENTITY2(x) IDENTITY2(x) IDENTITY2(x) IDENTITY2(x) +#define IDENTITY4(x) IDENTITY3(x) IDENTITY3(x) IDENTITY3(x) IDENTITY3(x) +#define IDENTITY5(x) IDENTITY4(x) IDENTITY4(x) IDENTITY4(x) IDENTITY4(x) +#define IDENTITY6(x) IDENTITY5(x) IDENTITY5(x) IDENTITY5(x) IDENTITY5(x) +#define IDENTITY7(x) IDENTITY6(x) IDENTITY6(x) IDENTITY6(x) IDENTITY6(x) +#define IDENTITY8(x) IDENTITY7(x) IDENTITY7(x) IDENTITY7(x) IDENTITY7(x) +#define IDENTITY9(x) IDENTITY8(x) IDENTITY8(x) IDENTITY8(x) IDENTITY8(x) +#define IDENTITY0(x) IDENTITY9(x) IDENTITY9(x) IDENTITY9(x) IDENTITY9(x) +IDENTITY0() diff --git a/clang/test/SemaCXX/warn-empty-body.cpp b/clang/test/SemaCXX/warn-empty-body.cpp index d643cedf09c..d3aaac1d8c3 100644 --- a/clang/test/SemaCXX/warn-empty-body.cpp +++ b/clang/test/SemaCXX/warn-empty-body.cpp @@ -269,3 +269,8 @@ void test_template_inst(int x) { test_template<double>(x); } +#define IDENTITY(a) a +void test7(int x, int y) { + if (x) IDENTITY(); // no-warning +} + |

