1156215Sbrueffer/* Basic tests of the #assert preprocessor extension. */ 2156215Sbrueffer/* { dg-do compile } */ 3156215Sbrueffer/* { dg-options "" } */ 4156215Sbrueffer 5156215Sbrueffer#define def unused expansion 6156215Sbrueffer#define fail int fail 7156215Sbrueffer 8156215Sbrueffer#assert abc (def) 9156215Sbrueffer#assert abc (ghi) 10156215Sbrueffer#assert abc (jkl) 11156215Sbrueffer#assert space ( s p a c e ) 12156215Sbrueffer 13156215Sbrueffer/* Basic: */ 14156215Sbrueffer#if !#abc (def) || !#abc (ghi) || !#abc (jkl) 15156215Sbruefferfail 16156215Sbrueffer#endif 17156215Sbrueffer 18156215Sbrueffer/* any answer for #abc */ 19156215Sbrueffer#if !#abc 20156215Sbruefferfail 21156215Sbrueffer#endif 22156215Sbrueffer 23156215Sbrueffer/* internal whitespace is collapsed, 24156215Sbrueffer external whitespace is deleted */ 25156215Sbrueffer#if !#space (s p a c e) || !#space ( s p a c e ) || #space (space) 26156215Sbruefferfail 27156215Sbrueffer#endif 28156215Sbrueffer 29156215Sbrueffer/* removing assertions */ 30156215Sbrueffer#unassert abc (jkl) 31156215Sbrueffer#if !#abc || !#abc (def) || !#abc (ghi) || #abc (jkl) 32156215Sbruefferfail 33156215Sbrueffer#endif 34156215Sbrueffer 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