1/* We used to crash in ccp here, because the initial constant value of 2 2 was changed to 5. */ 3 4/* { dg-do compile } */ 5/* { dg-options "-O2 -fdump-tree-optimized" } */ 6 7static const int a = 2; 8 9int test (int param) 10{ 11 int *p = (int *) &a; 12 13 if (param) 14 *p = 5; 15 16 return a; 17} 18 19/* Check that we return the correct (unchanged) value. */ 20 21/* { dg-final { scan-tree-dump-times "return 2" 1 "optimized" } } */ 22/* { dg-final { scan-tree-dump-times "return 5" 0 "optimized" } } */ 23 24/* { dg-final { cleanup-tree-dump "optimized" } } */ 25