1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-ccp2" } */
4 extern void link_error (void);
6 /* Some addresses clearly cannot be equal, check that some address
7 expressions can be evaluated as constants.
8 Most of the tests are folding tests, but at least some require
9 points-to analysis, so we scan the first CCP dump after PTA. */
12 void test6 (char p1
, char p2
)
15 static char s1
= 5, s2
= 7;
47 extern void *alloc (int) __attribute__ ((malloc
));
49 char* __restrict__ rgc1
;
50 char* test66 (char * __restrict__ rp1
, char * __restrict__ rp2
, char *p1
)
52 char * __restrict__ rl1
= p1
;
53 char * l1
= (char*) alloc (20);
91 int* __restrict__ rgi1
;
92 int* test666 (int * __restrict__ rp1
, int * __restrict__ rp2
, int *p1
)
94 int * __restrict__ rl1
= p1
;
95 int * l1
= (int*) alloc (20);
132 /* There should be not link_error calls, if there is any the
133 optimization has failed */
134 /* ??? While we indeed don't handle some of these, a couple of the
135 restrict tests are incorrect. */
136 /* { dg-final { scan-tree-dump-times "link_error" 0 "ccp2" { xfail *-*-* } } } */