diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/Wparentheses-10.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/Wparentheses-10.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/Wparentheses-10.c b/gcc/testsuite/gcc.dg/Wparentheses-10.c new file mode 100644 index 000000000..aafcae2ad --- /dev/null +++ b/gcc/testsuite/gcc.dg/Wparentheses-10.c @@ -0,0 +1,42 @@ +/* Test operation of -Wparentheses. Warnings for assignments used as + truth-values shouldn't apply other than for plain assignment. */ +/* Origin: Joseph Myers <jsm@polyomino.org.uk> */ + +/* { dg-do compile } */ +/* { dg-options "-Wparentheses -std=gnu99" } */ + +int foo (int); + +int a, b, c; +_Bool d; + +void +bar (void) +{ + if (a += b) + foo (0); + if (a -= a) + foo (1); + if (b *= c) + foo (2); + else + foo (3); + if (b /= b) + foo (4); + else + foo (5); + while (c %= b) + foo (6); + while (c <<= c) + foo (7); + do foo (8); while (a >>= b); + do foo (9); while (a &= a); + for (;c ^= b;) + foo (10); + for (;c |= c;) + foo (11); + d = a += b; + foo (12); + d = a -= a; + foo (13); +} |