1// RUN: not %clang_cc1 -E %s 2>&1 | FileCheck %s
2// PR2220
3
4// CHECK: invalid token at start of a preprocessor expression
5#if 1 * * 2
6#endif
7
8// CHECK: token is not a valid binary operator in a preprocessor subexpression
9#if 4 [ 2
10#endif
11
12
13// PR2284 - The constant-expr production does not including comma.
14// CHECK: [[@LINE+1]]:14: error: expected end of line in preprocessor expression
15#if 1 ? 2 : 0, 1
16#endif
17
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
29