/* { dg-do run } */ | |
/* { dg-options "-O -fdump-tree-ccp1" } */ | |
extern void abort (void); | |
static int g[1]; | |
static int * const p = &g[0]; | |
static int * const q = &g[0]; | |
int main(void) | |
{ | |
g[0] = 1; | |
*p = 0; | |
*p = *q; | |
if (g[0] != 0) | |
abort (); | |
return 0; | |
} | |
/* We should have replaced all loads from p and q with the constant | |
initial value. */ | |
/* { dg-final { scan-tree-dump-times "= p;" 0 "ccp1" } } */ | |
/* { dg-final { scan-tree-dump-times "= q;" 0 "ccp1" } } */ |