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