Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/torture/pta-escape-1.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-options "-fdump-tree-alias" } */ /* { dg-skip-if "" { *-*-* } { "-O0" "-fno-fat-lto-objects" } { "" } } */ int *p; void __attribute__((noinline,noclone)) bar (void) { *p = 1; } int __attribute__((noinline,noclone)) foo (__INTPTR_TYPE__ addr) { int i; /* q points to ANYTHING */ int **q = (int **)addr; /* this store needs to cause i to escape */ *q = &i; i = 0; /* and thus be clobbered by this function call */ bar (); return i; } extern void abort (void); int main() { if (foo ((__INTPTR_TYPE__)&p) != 1) abort (); return 0; } /* { dg-final { scan-tree-dump "ESCAPED = {\[^\n\}\]* i \[^\n\}\]*}" "alias" } } */