summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/assert1.c
blob: d1446105c543fd9c5e8a0b90f872cece614f1311 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* 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