| /* { dg-do compile } */ |
| /* { dg-options "-Wjump-misses-init -std=c99" } */ |
| extern void f1 (); |
| int |
| f2 (int a) |
| { |
| switch (a) /* { dg-message "switch" } */ |
| { |
| case 1: |
| f1 (); |
| int v2 = 3; /* { dg-message "here" } */ |
| case 2: /* { dg-warning "jump" } */ |
| if (v2 == 7) |
| f1 (); |
| } |
| return 0; |
| } |
| |
| int |
| f3 (int i) |
| { |
| if (i) |
| goto bad; /* { dg-warning "jump" } */ |
| int a = f2 (i); /* { dg-message "here" } */ |
| bad: /* { dg-message "here" } */ |
| return a; |
| } |
| |
| int |
| f4 (int a) |
| { |
| switch (a) |
| { |
| case 1: |
| f1 (); |
| static int v2 = 3; |
| case 2: |
| if (v2 == 7) |
| f1 (); |
| } |
| return 0; |
| } |
| |
| int |
| f5 (int i) |
| { |
| if (i) |
| goto bad; |
| static int a = 6; |
| bad: |
| return a; |
| } |