1/* { dg-do compile } */ 2/* { dg-options "-O2 -fdump-tree-alias" } */ 3extern double cos (double); 4extern double sin (double); 5double f(double a) 6{ 7 double b; 8 double c,d; 9 double (*fp) (double); 10 if (a < 2.0) 11 { 12 fp = sin; 13 c = fp (a); 14 } 15 else 16 { 17 c = 1.0; 18 fp = cos; 19 } 20 d = fp (a); 21 return d + c; 22} 23/* The points-to set of the final function pointer should be "sin cos" */ 24 25/* { dg-final { scan-tree-dump-times "{ sin cos }" 1 "alias"} } */ 26/* { dg-final { cleanup-tree-dump "alias" } } */ 27