1 /* Undefined behavior from a call to a function cast to a different
2 type does not appear until after the function designator and
3 arguments have been evaluated. PR 38483. */
4 /* Origin: Joseph Myers <joseph@codesourcery.com> */
5 /* { dg-require-effective-target untyped_assembly } */
6
7 extern void exit (int);
8 extern void abort (void);
9
10 int
foo(void)11 foo (void)
12 {
13 exit (0);
14 return 0;
15 }
16
17 void
bar(void)18 bar (void)
19 {
20 }
21
22 int
main(void)23 main (void)
24 {
25 ((long (*)(int))bar) (foo ());
26 abort ();
27 }
28