view gcc/testsuite/gcc.dg/cpp/assert1.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* Basic tests of the #assert preprocessor extension. */
/* { dg-do compile } */
/* { dg-options "-Wno-deprecated" } */

#define def unused expansion
#define fail  int fail

#assert abc (def)
#assert abc (ghi)
#assert abc (jkl)
#assert space ( s p a c e )

/* Basic: */
#if !#abc (def) || !#abc (ghi) || !#abc (jkl)
fail
#endif

/* any answer for #abc */
#if !#abc
fail
#endif

/* internal whitespace is collapsed,
   external whitespace is deleted  */
#if !#space (s p  a  c e) || !#space (  s p a c e  ) || #space (space)
fail
#endif

/* removing assertions */
#unassert abc (jkl)
#if !#abc || !#abc (def) || !#abc (ghi) || #abc (jkl)
fail
#endif

#unassert abc
#if #abc || #abc (def) || #abc (ghi) || #abc (jkl)
fail
#endif

int gobble

/* make sure it can succeed too.
   also check space before open paren isn't significant */
#if #space(s p a c e)
;
#endif