1/* Basic tests of the #assert preprocessor extension. */ 2/* { dg-do compile } */ 3/* { dg-options "" } */ 4 5#define def unused expansion 6#define fail int fail 7 8#assert abc (def) 9#assert abc (ghi) 10#assert abc (jkl) 11#assert space ( s p a c e ) 12 13/* Basic: */ 14#if !#abc (def) || !#abc (ghi) || !#abc (jkl) 15fail 16#endif 17 18/* any answer for #abc */ 19#if !#abc 20fail 21#endif 22 23/* internal whitespace is collapsed, 24 external whitespace is deleted */ 25#if !#space (s p a c e) || !#space ( s p a c e ) || #space (space) 26fail 27#endif 28 29/* removing assertions */ 30#unassert abc (jkl) 31#if !#abc || !#abc (def) || !#abc (ghi) || #abc (jkl) 32fail 33#endif 34 35#unassert abc 36#if #abc || #abc (def) || #abc (ghi) || #abc (jkl) 37fail 38#endif 39 40int gobble 41 42/* make sure it can succeed too. 43 also check space before open paren isn't significant */ 44#if #space(s p a c e) 45; 46#endif 47