1 /* Allow nested functions. */
2 /* { dg-options "-Wno-pedantic" } */
4 struct box
{ char field
[64]; int i
; };
6 struct box
__attribute__((noinline
,noclone
))
14 int __attribute__((noinline
,noclone
))
17 return returns_struct (i
* 5).i
; /* { dg-error "cannot tail-call: " } */
20 int __attribute__((noinline
,noclone
))
21 test_2_callee (int i
, struct box b
)
28 int __attribute__((noinline
,noclone
))
32 return test_2_callee (i
+ 1, b
); /* { dg-error "cannot tail-call: " } */
35 extern void setjmp (void);
39 setjmp (); /* { dg-error "cannot tail-call: " } */
48 nested (); /* { dg-error "cannot tail-call: " } */
51 typedef void (fn_ptr_t
) (void);
52 volatile fn_ptr_t fn_ptr
;
57 fn_ptr (); /* { dg-error "cannot tail-call: " } */