Fortran: Fix PR 47485.
[gcc.git] / gcc / testsuite / g++.dg / warn / uninit-pr55288.C
blob12fbc56885e6982773150329995492edd5a41c4b
1 /* PR tree-optimization/55288 - Improve handling/suppression of
2    maybe-uninitialized warnings
3    { dg-do compile }
4    { dg-options "-O2 -Wall" } */
6 struct iterator
8   operator int ();
9   iterator operator++ (int);
12 void bar (int);
14 static void foo (int x)
16   bar (x);          // { dg-bogus "uninitialized" }
19 int baz (iterator j, iterator end, int p)
21   bool valid = false;
22   int q;
23   for (; j != end; j++) {
24     if (p > j) {
25       if (not valid)
26         p = j;
27       break;
28     }
29     else if (p == j) {
30       valid = true;
31       q = -1;
32     }
33     else {
34       valid = true;
35       q = j;
36     }
37   }
39   if (valid)
40     foo (q);
42   return p;