1 /* { dg-require-alias "" } */
2 /* { dg-options "-O2 -fdump-ipa-icf-details"  } */
3 
4 int a, b, c, d, e, h, i, j, k, l;
5 const int f;
6 static int g;
7 
fn1(int p1)8 void fn1 (int p1)
9 {
10   k = d ? c % k : a * b;
11   h &= j ^ i ^ 1;
12 }
13 
main()14 int main ()
15 {
16   const int *m = &f, **n = &m;
17   l && (*n = &e);
18   if (m != &f)
19     __builtin_abort ();
20   fn1 (g);
21   return 0;
22 }
23 
24 /* { dg-final { scan-ipa-dump "Equal symbols: 1" "icf"  } } */
25 /* { dg-final { scan-ipa-dump "Not unifying; alias cannot be created; target is discardable" "icf"  } } */
26