1 # 1 "defined-syshdr.c" 1
2 /* { dg-do preprocess } */
3 /* { dg-options "-Wexpansion-to-defined" } */
4 
5 #define defined_outside_sys_hdr   defined FOO
6 
7 # 36 "some-system-header.h" 1 3
8 
9 #define defined_inside_sys_hdr    defined FOO
10 
11 /* In a system header, it's acceptable.  */
12 #if defined_outside_sys_hdr   /* { dg-bogus "may not be portable" } */
13 #endif
14 
15 # 16 "defined-syshdr.c" 2
16 
17 /* Back to _not_ in a system header */
18 
19 #if defined_outside_sys_hdr   /* { dg-message "may not be portable" } */
20 #endif
21 
22 /* Currently we warn about this, but it is probably a good idea not to.  */
23 
24 #if defined_inside_sys_hdr   /* { dg-bogus "may not be portable" "" { xfail *-*-* } } */
25 #endif
26 
27 int x;
28