/* { dg-options "-O2 -Wmissing-noreturn -fgnu89-inline" } */ /* { dg-additional-options "-mno-mmx" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ /* { dg-do compile } */ extern void abort (void); double foo (int arg) { if (arg != 116) abort(); return arg + 1; } __attribute__((noreturn)) double bar (int arg) { foo (arg); __builtin_return (__builtin_apply ((void (*) ()) foo, /* { dg-warning "'noreturn' function does return" } */ __builtin_apply_args (), 16)); }