* gcc.target/powerpc/pr64205.c: Skip on AIX.
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / builtin-noret-1.c
blobcef764dcdce1b5140a2182446bc102a94f2189a5
1 /* Test for builtin noreturn attributes. */
2 /* Origin: Joseph Myers <jsm28@cam.ac.uk> */
3 /* { dg-options "-multiply_defined suppress" { target powerpc-*-darwin* } } */
4 /* { dg-do link } */
5 /* { dg-require-weak "" } */
6 /* { dg-prune-output "recognized" } */
7 /* { dg-prune-output "ld: 0711-768 WARNING" } */
9 extern void abort (void);
10 extern void exit (int);
11 extern void _exit (int);
12 extern void _Exit (int);
14 extern void tabort (void);
15 extern void texit (void);
16 extern void t_exit (void);
17 extern void t_Exit (void);
19 extern void link_failure (void);
21 /* Some libcs have _exit and/or _Exit, and won't allow it to be re-defined,
22 so make it weak. */
23 #pragma weak _exit
24 #pragma weak _Exit
26 int
27 main (void)
29 volatile int i = 0;
30 if (i)
31 tabort ();
32 if (i)
33 texit ();
34 if (i)
35 t_exit ();
36 if (i)
37 t_Exit ();
38 exit (0);
41 void
42 tabort (void)
44 abort ();
45 link_failure ();
48 void
49 texit (void)
51 exit (1);
52 link_failure ();
55 void
56 t_exit (void)
58 _exit (1);
59 link_failure ();
62 /* Some non-Unix libcs might not have _exit. */
63 void
64 _exit (int i)
66 abort ();
69 void
70 t_Exit (void)
72 _Exit (1);
73 link_failure ();
76 /* Some libcs might not have _Exit. */
77 void
78 _Exit (int i)
80 abort ();