/* PR tree-optimization/84739 */ /* { dg-do compile } */ /* { dg-require-weak "" } */ /* { dg-options "-O2" } */ static void baz (void) __attribute__((weakref("bar"))); /* { dg-warning "alias between functions of incompatible types" } */ int foo (int x, int y) { if (x) y = 0; if (y) goto lab; y = 0; lab: return y; } void bar (int x, int y) /* { dg-message "aliased declaration here" } */ { y = foo (x, y); if (y != 0) baz (); }