1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-optimized" } */
3 
foo(int a)4 int  foo (int a)
5 {
6 void *p;
7 if (a!=0)
8   p = &&L0;
9 else
10   p = &&L1;
11 goto *p;
12 L0:
13 return 1;
14 L1:
15 return 0;
16 }
17 
18 /* Everything should have been cleaned up leaving a simple
19    return statement.  */
20 /* { dg-final { scan-tree-dump-times "= a_..D. != 0" 1 "optimized" } } */
21 
22 /* There should not be any abnormal edges as DOM removed the
23    computed gotos.  */
24 
25 /* { dg-final { scan-tree-dump-times "ab" 0 "optimized" } } */
26