diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-04-27 11:48:45 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-04-27 11:48:45 +0200 |
commit | 6cbfce7e87651d5e7272bad48dfc63e71c1bb27a (patch) | |
tree | 1b8bba33017bf56868f71410e9917dde0ac8c621 /gcc/ada/raise.c | |
parent | de3b531c9aa93592f98ebd99c6b35be632e3c1b3 (diff) | |
download | gcc-6cbfce7e87651d5e7272bad48dfc63e71c1bb27a.zip gcc-6cbfce7e87651d5e7272bad48dfc63e71c1bb27a.tar.gz gcc-6cbfce7e87651d5e7272bad48dfc63e71c1bb27a.tar.bz2 |
[multiple changes]
2017-04-27 Claire Dross <dross@adacore.com>
* a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to
modifications in functional containers.
* a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat
to improve readablity. Subprograms are separated between basic
operations, constructors and properties. Universally quantified
formulas in contracts are factorized in independant functions
with a name and a comment. Names of parameters are improved.
2017-04-27 Gary Dismukes <dismukes@adacore.com>
* exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix.
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): Do not
install a predicate check here since this is already done during
the expansion phase. Verify whether the operand satisfies the
static predicate (if any) of the target type.
* sem_ch3.adb (Analyze_Object_Declaration): Do
not install a predicate check if the object is initialized by
means of a type conversion because the conversion is subjected
to the same check.
2017-04-27 Tristan Gingold <gingold@adacore.com>
* raise.c (__gnat_builtin_longjmp): Remove.
(__gnat_bracktrace):
Add a dummy definition for the compiler (__gnat_eh_personality,
__gnat_rcheck_04, __gnat_rcheck_10) (__gnat_rcheck_19,
__gnat_rcheck_20, __gnat_rcheck_21) (__gnat_rcheck_30,
__gnat_rcheck_31, __gnat_rcheck_32): Likewise.
* a-exexpr.adb: Renamed from a-exexpr-gcc.adb
* a-except.ads, a-except.adb: Renamed from a-except-2005.ads
and a-except-2005.adb.
* raise-gcc.c: Allow build in compiler, compiled as a C++
file.
(__gnat_Unwind_ForcedUnwind): Adjust prototype.
(db): Constify msg_format.
(get_call_site_action_for): Don't use void arithmetic.
* system.ads (Frontend_Exceptions): Set to False.
(ZCX_By_Default): Set to True.
(GCC_ZC_Support): Set to True.
* gcc-interface/Makefile.in: No more variants for a-exexpr.adb and
a-except.ad[sb].
* gcc-interface/Make-lang.in: Add support for backend zcx exceptions
in gnat1 and gnatbind.
* gnat1, gnatbind: link with raise-gcc.o, a-exctra.o, s-addima.o,
s-excmac.o, s-imgint.o, s-traceb.o, s-trasym.o, s-wchstw.o
* s-excmac.ads, s-excmac.adb: Copy of variants.
* a-except.o: Adjust preequisites.
Add handling of s-excmac-arm.adb and s-excmac-gcc.adb.
From-SVN: r247301
Diffstat (limited to 'gcc/ada/raise.c')
-rw-r--r-- | gcc/ada/raise.c | 81 |
1 files changed, 66 insertions, 15 deletions
diff --git a/gcc/ada/raise.c b/gcc/ada/raise.c index a61723d..8434b67 100644 --- a/gcc/ada/raise.c +++ b/gcc/ada/raise.c @@ -6,7 +6,7 @@ * * * C Implementation File * * * - * Copyright (C) 1992-2012, Free Software Foundation, Inc. * + * Copyright (C) 1992-2017, Free Software Foundation, Inc. * * * * GNAT is free software; you can redistribute it and/or modify it under * * terms of the GNU General Public License as published by the Free Soft- * @@ -47,20 +47,6 @@ extern "C" { #endif -/* Wrapper to builtin_longjmp. This is for the compiler eh only, as the sjlj - runtime library interfaces directly to the intrinsic. We can't yet do - this for the compiler itself, because this capability relies on changes - made in April 2008 and we need to preserve the possibility to bootstrap - with an older base version. */ - -#if defined (IN_GCC) && !defined (IN_RTS) -void -_gnat_builtin_longjmp (void *ptr, int flag ATTRIBUTE_UNUSED) -{ - __builtin_longjmp (ptr, 1); -} -#endif - /* When an exception is raised for which no handler exists, the procedure Ada.Exceptions.Unhandled_Exception is called, which performs the call to adafinal to complete finalization, and then prints out the error messages @@ -84,6 +70,71 @@ __gnat_unhandled_terminate (void) __gnat_os_exit (1); } +#ifndef IN_RTS +int +__gnat_backtrace (void **array ATTRIBUTE_UNUSED, + int size ATTRIBUTE_UNUSED, + void *exclude_min ATTRIBUTE_UNUSED, + void *exclude_max ATTRIBUTE_UNUSED, + int skip_frames ATTRIBUTE_UNUSED) +{ + return 0; +} + +void +__gnat_eh_personality (void) +{ + abort (); +} + +void +__gnat_rcheck_04 (void) +{ + abort (); +} + +void +__gnat_rcheck_10 (void) +{ + abort (); +} + +void +__gnat_rcheck_19 (void) +{ + abort (); +} + +void +__gnat_rcheck_20 (void) +{ + abort (); +} + +void +__gnat_rcheck_21 (void) +{ + abort (); +} + +void +__gnat_rcheck_30 (void) +{ + abort (); +} + +void +__gnat_rcheck_31 (void) +{ + abort (); +} + +void +__gnat_rcheck_32 (void) +{ + abort (); +} +#endif #ifdef __cplusplus } #endif |