diff options
author | Richard Henderson <rth@redhat.com> | 2010-10-13 11:57:31 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2010-10-13 11:57:31 -0700 |
commit | bde8a146a602d86483dff9a5b0a9f34419ab3d32 (patch) | |
tree | 3c1d073f5371ed3d1591b0a5f61b529b6c5b86af /gcc/ada | |
parent | d1655e0b38cecbdeed551818b2406fcb39919ba7 (diff) | |
download | gcc-bde8a146a602d86483dff9a5b0a9f34419ab3d32.zip gcc-bde8a146a602d86483dff9a5b0a9f34419ab3d32.tar.gz gcc-bde8a146a602d86483dff9a5b0a9f34419ab3d32.tar.bz2 |
Centralize knowledge of eh personality routines.
From-SVN: r165433
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/misc.c | 6 | ||||
-rw-r--r-- | gcc/ada/raise-gcc.c | 8 |
3 files changed, 12 insertions, 9 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 3fd613a..df5b433 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2010-10-13 Richard Henderson <rth@redhat.com> + + * gcc-interface/misc.c (gnat_eh_personality): Update call to + build_personality_function. + * raise-gcc.c (PERSONALITY_FUNCTION): Change to match other languages; + use__gnat_personality_{v,sj}0. + 2010-10-12 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Add_Source): Put source in hash table Source_Files_HT diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 7703e2e..a1b2490 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -687,11 +687,7 @@ static tree gnat_eh_personality (void) { if (!gnat_eh_personality_decl) - gnat_eh_personality_decl - = build_personality_function (targetm.except_unwind_info () == UI_SJLJ - ? "__gnat_eh_personality_sj" - : "__gnat_eh_personality"); - + gnat_eh_personality_decl = build_personality_function ("gnat"); return gnat_eh_personality_decl; } diff --git a/gcc/ada/raise-gcc.c b/gcc/ada/raise-gcc.c index 3589bc5..512ff36 100644 --- a/gcc/ada/raise-gcc.c +++ b/gcc/ada/raise-gcc.c @@ -407,7 +407,7 @@ db_phases (int phases) =================================== The major point of this unit is to provide an exception propagation - personality routine for Ada. This is __gnat_eh_personality. + personality routine for Ada. This is __gnat_personality_v0. It is provided with a pointer to the propagated exception, an unwind context describing a location the propagation is going through, and a @@ -440,7 +440,7 @@ db_phases (int phases) | | (Ada frame) | - +--> __gnat_eh_personality (context, exception) + +--> __gnat_personality_v0 (context, exception) | +--> get_region_descriptor_for (context) | @@ -1028,9 +1028,9 @@ extern void __gnat_notify_unhandled_exception (void); GNU-Ada exceptions are met. */ #ifdef __USING_SJLJ_EXCEPTIONS__ -#define PERSONALITY_FUNCTION __gnat_eh_personality_sj +#define PERSONALITY_FUNCTION __gnat_personality_sj0 #else -#define PERSONALITY_FUNCTION __gnat_eh_personality +#define PERSONALITY_FUNCTION __gnat_personality_v0 #endif /* Major tweak for ia64-vms : the CHF propagation phase calls this personality |