2 /* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details" } */
5 /* i should not escape here, p should point to i only. */
6 /* { dg-final { scan-ipa-dump "p = { i }" "pta" } } */
10 /* q should point to j only. */
11 /* { dg-final { scan-ipa-dump "q = { j }" "pta" } } */
15 /* k should escape here, r should point to NONLOCAL, ESCAPED, k. */
17 /* { dg-final { scan-ipa-dump "r = { ESCAPED NONLOCAL k }" "pta" } } */
20 /* s should point to NONLOCAL, ESCAPED, l. */
22 /* { dg-final { scan-ipa-dump "s = { ESCAPED NONLOCAL l }" "pta" } } */
24 /* Make p and q referenced so they do not get optimized out. */
25 int foo() { return &p
< &q
; }
32 /* It isn't clear if the escape if l is strictly necessary, if it were
33 we should have i, r and s in ESCAPED as well. */
35 /* { dg-final { scan-ipa-dump "ESCAPED = { ESCAPED NONLOCAL l k }" "pta" } } */
36 /* { dg-final { cleanup-ipa-dump "pta" } } */