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