Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/nested-func-10.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
/* PR c/70093 */ /* { dg-do compile } */ /* { dg-options "" } */ /* { dg-require-effective-target alloca } */ void __attribute__((noinline, noclone)) foo (int n) { struct S { int a[n]; }; struct S __attribute__((noreturn)) fn (void) { __builtin_abort (); } auto struct S __attribute__((noreturn)) fn2 (void) { __builtin_abort (); } struct S x; __typeof__ (fn ()) *p = &x; switch (n) { case 1: fn (); break; case 2: fn2 (); break; case 3: x = fn (); if (x.a[0] != 42) __builtin_abort (); break; case 4: if (fn ().a[0] != 42) __builtin_abort (); break; case 5: if (p->a[0] != 42) __builtin_abort (); break; case 6: if (fn2 ().a[0] != 42) __builtin_abort (); break; } } int main (void) { foo (1); }