diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20070824-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20070824-1.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20070824-1.c b/gcc/testsuite/gcc.c-torture/execute/20070824-1.c new file mode 100644 index 000000000..74eb58c05 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20070824-1.c @@ -0,0 +1,24 @@ +/* PR tree-optimization/33136 */ + +extern void abort (void); + +struct S +{ + struct S *a; + int b; +}; + +int +main (void) +{ + struct S *s = (struct S *) 0, **p, *n; + for (p = &s; *p; p = &(*p)->a); + n = (struct S *) __builtin_alloca (sizeof (*n)); + n->a = *p; + n->b = 1; + *p = n; + + if (!s) + abort (); + return 0; +} |