blob: 0b97b255f11b554fe3bfc779e0d38794157314e0 [file] [log] [blame]
Richard Smith4d247e72016-04-16 00:07:09 +00001// RUN: not %clang_cc1 -E %s 2>&1 | FileCheck %s
Chris Lattnerf8f94542008-04-13 20:38:43 +00002// PR2220
3
Richard Smith4d247e72016-04-16 00:07:09 +00004// CHECK: invalid token at start of a preprocessor expression
Chris Lattnerf8f94542008-04-13 20:38:43 +00005#if 1 * * 2
6#endif
7
Richard Smith4d247e72016-04-16 00:07:09 +00008// CHECK: token is not a valid binary operator in a preprocessor subexpression
Chris Lattnerf8f94542008-04-13 20:38:43 +00009#if 4 [ 2
10#endif
11
Chris Lattnerdb65ff72008-05-05 20:07:41 +000012
13// PR2284 - The constant-expr production does not including comma.
Richard Smith4d247e72016-04-16 00:07:09 +000014// CHECK: [[@LINE+1]]:14: error: expected end of line in preprocessor expression
Chris Lattnerdb65ff72008-05-05 20:07:41 +000015#if 1 ? 2 : 0, 1
16#endif
Richard Smith4d247e72016-04-16 00:07:09 +000017
18// CHECK: [[@LINE+1]]:5: error: function-like macro 'FOO' is not defined
19#if FOO(1, 2, 3)
20#endif
21
22// CHECK: [[@LINE+1]]:9: error: function-like macro 'BAR' is not defined
23#if 1 + BAR(1, 2, 3)
24#endif
25
26// CHECK: [[@LINE+1]]:10: error: token is not a valid binary operator
27#if (FOO)(1, 2, 3)
28#endif