blob: 055e17ae753a8421d451c1a149d8f19e8e3f7b08 [file] [log] [blame]
/* 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