summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/if-sc.c
blob: 1607669f0b889c8b0375c85fa74fe94a0376f2be (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
/* Copyright (C) 2000 Free Software Foundation, Inc.  */

/* { dg-do preprocess } */

/* Test that all operators correctly short circuit.  */

#if (2 || 3 / 0) != 1
#error		/* { dg-bogus "error" "|| short circuit" } */
#endif

#if 0 && 3 / 0
#error		/* { dg-bogus "error" "&& short circuit" } */
#endif

#if 1 ? 0 : 3 / 0
#error		/* { dg-bogus "error" "? : right short circuit" } */
#endif

#if 0 ? 3 / 0 : 2
#else
#error		/* { dg-bogus "error" "? : left short circuit" } */
#endif

#if -1 ? 0 && 3 / 0 : 3 / 0 + 5 == 5
#error		/* { dg-bogus "error" "nested short circuiting" } */
#endif