1 /* { dg-do run } */
2 /* { dg-options "-O -fdump-tree-ccp1" } */
3 
4 extern void abort (void);
5 
6 static int g[1];
7 
8 static int * const p = &g[0];
9 static int * const q = &g[0];
10 
main(void)11 int main(void)
12 {
13   g[0] = 1;
14   *p = 0;
15   *p = *q;
16   if (g[0] != 0)
17     abort ();
18   return 0;
19 }
20 
21 /* We should have replaced all loads from p and q with the constant
22    initial value.  */
23 
24 /* { dg-final { scan-tree-dump-times "= p;" 0 "ccp1" } } */
25 /* { dg-final { scan-tree-dump-times "= q;" 0 "ccp1" } } */
26