diff options
author | Richard Henderson <rth@redhat.com> | 2003-05-07 15:11:38 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-05-07 15:11:38 -0700 |
commit | a944ceb94a99f5a271e2bd84a5a922858e5f699f (patch) | |
tree | c4966921e4085694a93888d4028afb2a1818fda4 /gcc/cp/cfns.gperf | |
parent | a21d83cd14f80ebd8b9ab6c4d87c42bf06bfec08 (diff) | |
download | gcc-a944ceb94a99f5a271e2bd84a5a922858e5f699f.zip gcc-a944ceb94a99f5a271e2bd84a5a922858e5f699f.tar.gz gcc-a944ceb94a99f5a271e2bd84a5a922858e5f699f.tar.bz2 |
except.c: Revert 04-01 and 04-02 forced-unwind changes.
gcc/
* except.c: Revert 04-01 and 04-02 forced-unwind changes.
* flags.h, toplev.c, doc/invoke.texi: Likewise.
* unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
* unwind.inc (_Unwind_DeleteException): Check for null
exception_cleanup.
* unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
* unwind.inc (_Unwind_Resume_or_Rethrow): New.
* unwind.h: Declare them.
* libgcc-std.ver (GCC_3.3): Export them.
gcc/cp/
* cfns.gperf: Comment out POSIX thread cancellation points,
plus abort and raise.
* cfns.h: Regenerate.
gcc/testsuite/
* g++.dg/eh/forced1.C: Expect catch-all handlers to run.
Verify exception_cleanup not called for rethrows.
* g++.dg/eh/forced2.C: Test that exception_cleanup is called
when exiting catch block without rethrowing.
* g++.dg/eh/forced3.C: New.
* g++.dg/eh/forced4.C: New.
libstdc++-v3/
* libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
(__cxa_end_catch): Likewise.
* libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use
_Unwind_Resume_or_Rethrow.
* libsupc++/eh_personality.cc (empty_exception_spec): New.
(PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
for _UA_FORCE_UNWIND. Honor empty filter spec for foreign
exceptions. Don't push terminate/unexpected to cxa functions.
(__cxa_call_unexpected): Remove foreign exception fixmes.
From-SVN: r66583
Diffstat (limited to 'gcc/cp/cfns.gperf')
-rw-r--r-- | gcc/cp/cfns.gperf | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf index 850b66a..6ee56b5 100644 --- a/gcc/cp/cfns.gperf +++ b/gcc/cp/cfns.gperf @@ -16,9 +16,9 @@ const char * libc_name_p (const char *, unsigned int); # exception, unless it calls a program-supplied function that # throws an exception. # -# bsearch and qsort are commented out because they can call such functions. +# Specific functions are commented out for the reason noted in each case. # -abort +# abort -- synchronous exception from SIGABRT handler abs acos asctime @@ -29,7 +29,7 @@ atexit atof atoi atol -#bsearch +#bsearch -- calls user function which may throw exception btowc calloc ceil @@ -43,41 +43,41 @@ div exit exp fabs -fclose +#fclose -- POSIX thread cancellation point feof ferror -fflush -fgetc -fgetpos -fgets -fgetwc -fgetws +#fflush -- POSIX thread cancellation point +#fgetc -- POSIX thread cancellation point +#fgetpos -- POSIX thread cancellation point +#fgets -- POSIX thread cancellation point +#fgetwc -- POSIX thread cancellation point +#fgetws -- POSIX thread cancellation point floor fmod -fopen -fprintf -fputc -fputs -fputwc -fputws -fread +#fopen -- POSIX thread cancellation point +#fprintf -- POSIX thread cancellation point +#fputc -- POSIX thread cancellation point +#fputs -- POSIX thread cancellation point +#fputwc -- POSIX thread cancellation point +#fputws -- POSIX thread cancellation point +#fread -- POSIX thread cancellation point free -freopen +#freopen -- POSIX thread cancellation point frexp -fscanf +#fscanf -- POSIX thread cancellation point fseek -fsetpos -ftell +#fsetpos -- POSIX thread cancellation point +#ftell -- POSIX thread cancellation point fwide -fwprintf -fwrite -fwscanf -getc -getchar +#fwprintf -- POSIX thread cancellation point +#fwrite -- POSIX thread cancellation point +#fwscanf -- POSIX thread cancellation point +#getc -- POSIX thread cancellation point +#getchar -- POSIX thread cancellation point getenv -gets -getwc -getwchar +#gets -- POSIX thread cancellation point +#getwc -- POSIX thread cancellation point +#getwchar -- POSIX thread cancellation point gmtime isalnum isalpha @@ -125,22 +125,22 @@ memmove memset mktime modf -perror +#perror -- POSIX thread cancellation point pow -printf -putc -putchar -puts -putwc -putwchar -#qsort -raise +#printf -- POSIX thread cancellation point +#putc -- POSIX thread cancellation point +#putchar -- POSIX thread cancellation point +#puts -- POSIX thread cancellation point +#putwc -- POSIX thread cancellation point +#putwchar -- POSIX thread cancellation point +#qsort -- calls user function which may throw exception +#raise -- synchronous exception from signal handler rand realloc -remove -rename -rewind -scanf +#remove -- POSIX thread cancellation point +#rename -- POSIX thread cancellation point +#rewind -- POSIX thread cancellation point +#scanf -- POSIX thread cancellation point setbuf setlocale setvbuf @@ -157,7 +157,7 @@ strcmp strcoll strcpy strcspn -strerror +#strerror -- POSIX thread cancellation point strftime strlen strncat @@ -174,25 +174,25 @@ strtoul strxfrm swprintf swscanf -system +#system -- POSIX thread cancellation point tan tanh time -tmpfile -tmpnam +#tmpfile -- POSIX thread cancellation point +#tmpnam -- POSIX thread cancellation point tolower toupper towctrans towlower towupper -ungetc -ungetwc -vfprintf -vfwprintf -vprintf +#ungetc -- POSIX thread cancellation point +#ungetwc -- POSIX thread cancellation point +#vfprintf -- POSIX thread cancellation point +#vfwprintf -- POSIX thread cancellation point +#vprintf -- POSIX thread cancellation point vsprintf vswprintf -vwprintf +#vwprintf -- POSIX thread cancellation point wcrtomb wcscat wcschr @@ -225,5 +225,5 @@ wmemcmp wmemcpy wmemmove wmemset -wprintf -wscanf +#wprintf -- POSIX thread cancellation point +#wscanf -- POSIX thread cancellation point |