| /* PR tree-optimization/17506 |
| We issue an uninitialized variable warning at a wrong location at |
| line 11, which is very confusing. Make sure we print out a note to |
| make it less confusing. (not xfailed alternative) |
| But it is of course ok if we warn in bar about uninitialized use |
| of j. (not xfailed alternative) */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O1 -Wuninitialized -ftrivial-auto-var-init=zero" } */ |
| |
| inline int |
| foo (int i) |
| { |
| if (i) /* { dg-warning "used uninitialized" } */ |
| return 1; |
| return 0; |
| } |
| |
| void baz (void); |
| |
| void |
| bar (void) |
| { |
| int j; /* { dg-message "note: 'j' was declared here" "" } */ |
| for (; foo (j); ++j) /* { dg-warning "'j' is used uninitialized" "" { xfail *-*-* } } */ |
| baz (); |
| } |