| // { dg-do compile } |
| // { dg-options "-Wuninitialized -O" } |
| external_definition void boring (int arg0); |
| external_definition char condition (char arg1, char arg2); |
| external_definition int first_nonzero (int arg5, int arg6); |
| |
| boring |
| { |
| arg0 = +5 + +3; // Force 3 and 5 to be signed numbers. |
| arg0 = arg0 + +3; |
| } |
| |
| condition |
| { |
| if (arg1) |
| { |
| automatic int i; |
| return i + 1; // { dg-warning "uninitialized" } |
| } |
| else |
| { |
| automatic int j; |
| return j; // { dg-warning "uninitialized" } |
| } |
| } |
| |
| first_nonzero |
| { |
| automatic int y; |
| automatic int y; // { dg-error "Duplicate" } |
| if (arg5) |
| { |
| return arg5; |
| } |
| else |
| { |
| automatic int j; |
| j = arg6; |
| return j; |
| } |
| return arg6; |
| } |
| |