1// RUN: %clang_cc1 %s -Eonly -Werror=undef -verify
2// RUN: %clang_cc1 %s -Eonly -Werror-undef -verify
3
4extern 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