skipping.c   [plain text]


/* Copyright (C) 2000 Free Software Foundation, Inc.  */

/* { dg-do preprocess } */

/* Tests expansion of macros whilst skipping false conditionals.  */

/* Source: Neil Booth, 29 Oct 2000.  */

#define F()
#define TRUE 1

#if 0
F(			/* No diagnostic: don't even try to expand it.  */
#endif

#if 0
#elif TRUE		/* Expand this, even though we were skipping.  */
#else
#error Macros not expanded in #elif
#endif

/* Check we don't warn about bad identifiers when skipping.  */
#if 0
#define foo __VA_ARGS__	/* { dg-bogus "warned about identifier" } */
#endif