mirror of git://gcc.gnu.org/git/gcc.git
30 lines
1.2 KiB
C
30 lines
1.2 KiB
C
/* { dg-options "-Wparentheses -ftrack-macro-expansion=0" } */
|
|
|
|
extern void f2 (int);
|
|
|
|
void bar (int x, int y, int z)
|
|
{
|
|
#define T(op) f2 (x op y ? : 1)
|
|
#define T2(op) f2 (x op y ? 2 : 1)
|
|
|
|
T(<); /* { dg-warning "omitted middle operand" } */
|
|
T(>); /* { dg-warning "omitted middle operand" } */
|
|
T(<=); /* { dg-warning "omitted middle operand" } */
|
|
T(>=); /* { dg-warning "omitted middle operand" } */
|
|
T(==); /* { dg-warning "omitted middle operand" } */
|
|
T(!=); /* { dg-warning "omitted middle operand" } */
|
|
T(||); /* { dg-warning "omitted middle operand" } */
|
|
T(&&); /* { dg-warning "omitted middle operand" } */
|
|
f2 (!x ? : 1); /* { dg-warning "omitted middle operand" } */
|
|
T2(<); /* { dg-bogus "omitted middle operand" } */
|
|
T2(>); /* { dg-bogus "omitted middle operand" } */
|
|
T2(==); /* { dg-bogus "omitted middle operand" } */
|
|
T2(||); /* { dg-bogus "omitted middle operand" } */
|
|
T2(&&); /* { dg-bogus "omitted middle operand" } */
|
|
T(+); /* { dg-bogus "omitted middle operand" } */
|
|
T(-); /* { dg-bogus "omitted middle operand" } */
|
|
T(*); /* { dg-bogus "omitted middle operand" } */
|
|
T(/); /* { dg-bogus "omitted middle operand" } */
|
|
T(^); /* { dg-bogus "omitted middle operand" } */
|
|
}
|