/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. */ /* { dg-do preprocess } */ /* { dg-additional-options "-Wall" } */ /* Test we get signedness of ?: operator correct. We would skip evaluation of one argument, and might therefore not transfer its unsignedness to the result. */ /* Neil Booth, 19 Jul 2002. */ #if (1 ? -2: 0 + 1U) < 0 /* { dg-warning {the left operand of ':' changes sign} } */ #error /* { dg-bogus "error" } */ #endif #if (0 ? 0 + 1U: -2) < 0 /* { dg-warning {the right operand of ':' changes sign} } */ #error /* { dg-bogus "error" } */ #endif /* PR preprocessor/112701 */ #if (0 ? 0/0u : -1) < 0 /* { dg-warning {the right operand of ':' changes sign} } */ #error /* { dg-bogus "error" } */ #endif #if (0 ? 0u/0 : -1) < 0 /* { dg-warning {the right operand of ':' changes sign} } */ #error /* { dg-bogus "error" } */ #endif #if (1 ? -1 : 0/0u) < 0 /* { dg-warning {the left operand of ':' changes sign} } */ #error /* { dg-bogus "error" } */ #endif #if (1 ? -1 : 0u/0) < 0 /* { dg-warning {the left operand of ':' changes sign} } */ #error /* { dg-bogus "error" } */ #endif