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  
      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" } } */