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
7extern void exit (int);
8extern void abort (void);
9
10int
11foo (void)
12{
13  exit (0);
14  return 0;
15}
16
17void
18bar (void)
19{
20}
21
22int
23main (void)
24{
25  ((long (*)(int))bar) (foo ());
26  abort ();
27}
28