/* PR 18050 : bogus warning with -Wsequence-point */ /* { dg-do compile } */ /* { dg-options "-Wsequence-point" } */ struct x { int i; }; void bar(struct x*, int *); void foo(struct x *y) { bar(y++, &y->i); /* { dg-warning "operation on 'y' may be undefined" } */ } void zz(int a, int *b) { *b = a; } void baz(void) { int a = 5; zz(++a, &a); /* { dg-bogus "operation on 'a' may be undefined" } */ }