1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-optimized" } */ 3 4 5 6 void abort (void); 7 struct a 8 { 9 int i; 10 } *a; f(void)11int f(void) 12 { 13 int *ii = &a->i; 14 void *l; 15 a->i = 1; 16 if (*ii) 17 l = &&l1; 18 else 19 l = &&l2; 20 goto *l; 21 l1: 22 return 0; 23 l2: 24 abort (); 25 } 26 27 28 /* { dg-final { scan-tree-dump-times "&" 0 "optimized" } } */ 29 /* { dg-final { scan-tree-dump-times "abort" 0 "optimized" } } */ 30