libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / stackalign / builtin-apply-4.c
blob94b20123724de571211843cd3d5723b5abd87fba
1 /* PR tree-optimization/20076 */
2 /* { dg-do run } */
3 /* { dg-additional-options "-fgnu89-inline" } */
4 /* { dg-require-effective-target untyped_assembly } */
5 /* { dg-xfail-run-if "can cause stack underflow" { amdgcn-*-* } } */
7 extern void abort (void);
9 double
10 foo (int arg)
12 if (arg != 116)
13 abort();
14 return arg + 1;
17 inline double
18 bar (int arg)
20 foo (arg);
21 __builtin_return (__builtin_apply ((void (*) ()) foo,
22 __builtin_apply_args (), 16));
25 int
26 main (int argc, char **argv)
28 if (bar (116) != 117.0)
29 abort ();
31 return 0;