1 // RUN: %clang_cc1 -fsyntax-only -std=c99 -pedantic-errors %s
2 // RUN: %clang_cc1 -fsyntax-only -std=c99 -emit-pch -o %t %s
3 // RUN: %clang_cc1 -fsyntax-only -std=c99 -pedantic-errors -include-pch %t %s
4 
5 // RUN: %clang_cc1 -fsyntax-only -std=c99 -pedantic-errors -DINCLUDED %s -verify
6 // This last one should warn for -Wempty-translation-unit (C99 6.9p1).
7 
8 #if defined(INCLUDED)
9 
10 // empty except for the prefix header
11 
12 #elif defined(HEADER)
13 
14 typedef int my_int;
15 #define INCLUDED
16 
17 #else
18 
19 #define HEADER
20 #include "empty-with-headers.c"
21 // empty except for the header
22 
23 #endif
24 
25 // This should only fire if the header is not included,
26 // either explicitly or as a prefix header.
27 // expected-error{{ISO C requires a translation unit to contain at least one declaration}}
28