PR c++/55881
gcc/testsuite/ChangeLog:
* g++.dg/warn/uninit-pr55881.C: New test.
--- /dev/null
+/* PR middle-end/55881 - #pragma GCC diagnostic ignored ignored when inlining
+ { dg-do compile }
+ { dg-options "-O2 -Wall" } */
+
+struct I
+{
+ int i;
+ int foo (struct I *n)
+ {
+ return n->i + 10; // { dg-bogus "-Wmaybe-uninitialized" }
+ }
+
+ I () : i (5) {}
+};
+
+int main (int argc, char **)
+{
+ struct I i, *n;
+
+ if (argc > 10)
+ {
+ n = new I;
+ i.i = i.foo (n);
+ }
+
+ if (argc > 2)
+ {
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+ return i.foo (n);
+#pragma GCC diagnostic pop
+ }
+
+ return 0;
+}