1 /* Copyright (C) 2000 Free Software Foundation, Inc.  */
2 
3 /* { dg-do preprocess } */
4 
5 /* Tests expansion of macros whilst skipping false conditionals.  */
6 
7 /* Source: Neil Booth, 29 Oct 2000.  */
8 
9 #define F()
10 #define TRUE 1
11 
12 #if 0
13 F(			/* No diagnostic: don't even try to expand it.  */
14 #endif
15 
16 #if 0
17 #elif TRUE		/* Expand this, even though we were skipping.  */
18 #else
19 #error Macros not expanded in #elif
20 #endif
21 
22 /* Check we don't warn about bad identifiers when skipping.  */
23 #if 0
24 #define foo __VA_ARGS__	/* { dg-bogus "warned about identifier" } */
25 #endif
26