1 | // RUN: %clang_cc1 %s -Eonly -Werror=undef -verify |
2 | // RUN: %clang_cc1 %s -Eonly -Werror-undef -verify |
3 | |
4 | extern int x; |
5 | |
6 | #if foo // expected-error {{'foo' is not defined, evaluates to 0}} |
7 | #endif |
8 | |
9 | #ifdef foo |
10 | #endif |
11 | |
12 | #if defined(foo) |
13 | #endif |
14 | |
15 | |
16 | // PR3938 |
17 | #if 0 |
18 | #ifdef D |
19 | #else 1 // Should not warn due to C99 6.10p4 |
20 | #endif |
21 | #endif |
22 | |
23 | // rdar://9475098 |
24 | #if 0 |
25 | #else 1 // expected-warning {{extra tokens}} |
26 | #endif |
27 | |
28 | // PR6852 |
29 | #if 'somesillylongthing' // expected-warning {{character constant too long for its type}} \ |
30 | // expected-warning {{multi-character character constant}} |
31 | #endif |
32 | |