/* { dg-do compile } */ /* { dg-options "-Wjump-misses-init" } */ int f1 (int a) { if (a > 0) { int i = 7; /* { dg-message "here" } */ lab: /* { dg-message "here" } */ return a; } else { if (a < 0) goto lab; /* { dg-warning "jump" } */ return 1; } } int f2 (int a) { if (a > 0) { if (a < 0) goto lab; /* { dg-warning "jump" } */ return 1; } else { int i = 7; /* { dg-message "here" } */ lab: /* { dg-message "here" } */ return a; } } int f3 (int a) { if (a > 0) { static int i = 7; lab: return a; } else { if (a < 0) goto lab; return 1; } } int f4 (int a) { if (a > 0) { if (a < 0) goto lab; return 1; } else { static int i = 7; lab: return a; } } int f5 (int a) { if (a > 0) { int b = 1; if (a < 0) goto lab; } lab: return a; } int f6 (int a) { if (a > 0) { lab: return a; } else { int b = 1; goto lab; } } int f7 (int a) { switch (a) /* { dg-message "switch" } */ { int b = 1; /* { dg-message "here" } */ case 1: /* { dg-warning "jump" } */ return a; } } int f8 (int a) { switch (a) /* { dg-message "switch" } */ { int b = 1; /* { dg-message "here" } */ case 1: /* { dg-warning "jump" } */ goto lab; } lab: return a; } int f9 (int a) { switch (a) { case 0: { int b = 1; return b; } case 1: return a; } } int f10 (int a) { switch (a) { case 0: { int b = 1; goto lab; } case 1: goto lab; } lab: return a; }