| /* { dg-do run } */ | |
| /* { dg-options "-fdump-tree-alias" } */ | |
| /* { dg-skip-if "" { *-*-* } { "-O0" "-fno-fat-lto-objects" } { "" } } */ | |
| volatile int i; | |
| int ** __attribute__((noinline,pure)) foo(int **p) { i; return p; } | |
| int bar(void) | |
| { | |
| int i = 0, j = 1; | |
| int *p, **q; | |
| p = &i; | |
| q = foo(&p); | |
| *q = &j; | |
| return *p; | |
| } | |
| extern void abort (void); | |
| int main() | |
| { | |
| if (bar() != 1) | |
| abort (); | |
| return 0; | |
| } | |
| /* { dg-final { scan-tree-dump "p.\?.._. = { i j }" "alias" } } */ |