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)11 int 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