diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-noret-1.c | 5 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-noret-2.c | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/builtin-noret-1.c b/gcc/testsuite/gcc.dg/torture/builtin-noret-1.c index 2328b87..b8b970e 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-noret-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-noret-1.c @@ -15,6 +15,11 @@ extern void t_Exit (void); extern void link_failure (void); +/* Some libcs have _exit and/or _Exit, and won't allow it to be re-defined, + so make it weak. */ +#pragma weak _exit +#pragma weak _Exit + int main (void) { diff --git a/gcc/testsuite/gcc.dg/torture/builtin-noret-2.c b/gcc/testsuite/gcc.dg/torture/builtin-noret-2.c index 9b94a4c..d49de7f 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-noret-2.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-noret-2.c @@ -46,11 +46,17 @@ void t_exit (void) { extern void _exit (int); + /* Some non-Unix libcs have _exit, and won't allow it to be re-defined, + so make it weak. */ +#pragma weak _exit _exit (1); link_failure (); } /* Some non-Unix libcs might not have _exit. */ +/* Some non-Unix libcs have _exit, and won't allow it to be re-defined, + so make it weak. */ +#pragma weak _exit void _exit (int i) { @@ -61,11 +67,17 @@ void t_Exit (void) { extern void _Exit (int); + /* Some libcs have _Exit, and won't allow it to be re-defined, + so make it weak. */ +#pragma weak _Exit _Exit (1); link_failure (); } /* Some libcs might not have _Exit. */ +/* Some libcs have _Exit, and won't allow it to be re-defined, + so make it weak. */ +#pragma weak _Exit void _Exit (int i) { |
