1 /* Copyright (C) 2000 Free Software Foundation, Inc.  */
2 
3 /* { dg-do preprocess } */
4 
5 /* Test that all operators correctly short circuit.  */
6 
7 #if (2 || 3 / 0) != 1
8 #error		/* { dg-bogus "error" "|| short circuit" } */
9 #endif
10 
11 #if 0 && 3 / 0
12 #error		/* { dg-bogus "error" "&& short circuit" } */
13 #endif
14 
15 #if 1 ? 0 : 3 / 0
16 #error		/* { dg-bogus "error" "? : right short circuit" } */
17 #endif
18 
19 #if 0 ? 3 / 0 : 2
20 #else
21 #error		/* { dg-bogus "error" "? : left short circuit" } */
22 #endif
23 
24 #if -1 ? 0 && 3 / 0 : 3 / 0 + 5 == 5
25 #error		/* { dg-bogus "error" "nested short circuiting" } */
26 #endif
27