/* PR c++/105593 */ /* { dg-do compile } */ /* { dg-options "-W -Wall -Wno-init-self" } */ void bar (int); static inline int baz (void) { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Winit-self" int u = u; /* { dg-bogus "'u' is used uninitialized" } */ #pragma GCC diagnostic pop return u; } void foo (void) { int u = baz (); bar (u); } static inline int qux (void) { int u = u; /* { dg-bogus "'u' is used uninitialized" } */ return u; } void corge (void) { int u = qux (); bar (u); }