diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-04-27 12:00:42 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-04-27 12:00:42 +0200 |
commit | 522aa6ee70820727d5be628b0f6b3cc7a185a14b (patch) | |
tree | ae207153ba994c3456cf41e612a494ca2c615cdd /gcc/ada/raise-gcc.c | |
parent | f138ea5cbaf8f2a8cec00b741e5b23a8db5c0f83 (diff) | |
download | gcc-522aa6ee70820727d5be628b0f6b3cc7a185a14b.zip gcc-522aa6ee70820727d5be628b0f6b3cc7a185a14b.tar.gz gcc-522aa6ee70820727d5be628b0f6b3cc7a185a14b.tar.bz2 |
[multiple changes]
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch8.adb (Find_Direct_Name): Account for the case where
a use-visible entity is defined within a nested scope of an
instance when giving priority to entities which were visible in
the original generic.
* sem_util.ads, sem_util.adb (Nearest_Enclosing_Instance): New routine.
2017-04-27 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c: Don't use unwind.h while compiling
for the frontend, but mimic host behavior.
2017-04-27 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Build_Discriminated_Subtype):
Propagate Has_Pragma_Unreferenced_Objects to the built subtype.
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Global_Item):
Do not consider discriminants because they are not "entire
objects". Remove the discriminant-related checks because they are
obsolete.
(Analyze_Input_Output): Do not consider discriminants
because they are not "entire objects".
2017-04-27 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not
perform check if the current scope does not come from source,
as is the case for a rewritten task body, because check has
been performed already, and may not be doable because of changed
visibility.
From-SVN: r247309
Diffstat (limited to 'gcc/ada/raise-gcc.c')
-rw-r--r-- | gcc/ada/raise-gcc.c | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/gcc/ada/raise-gcc.c b/gcc/ada/raise-gcc.c index cb35842..1264a726 100644 --- a/gcc/ada/raise-gcc.c +++ b/gcc/ada/raise-gcc.c @@ -32,12 +32,20 @@ /* Code related to the integration of the GCC mechanism for exception handling. */ -#ifndef CERT -#include "tconfig.h" -#include "tsystem.h" +#ifndef IN_RTS + /* For gnat1/gnatbind compilation: use host headers. */ +# include "config.h" +# include "system.h" + /* Don't use fancy_abort. */ +# undef abort #else -#define ATTRIBUTE_UNUSED __attribute__((unused)) -#define HAVE_GETIPINFO 1 +# ifndef CERT +# include "tconfig.h" +# include "tsystem.h" +# else +# define ATTRIBUTE_UNUSED __attribute__((unused)) +# define HAVE_GETIPINFO 1 +# endif #endif #include <stdarg.h> @@ -71,7 +79,19 @@ typedef char bool; (SJLJ or DWARF). We need a consistently named interface to import from a-except, so wrappers are defined here. */ -#include "unwind.h" +#ifndef IN_RTS + /* For gnat1/gnatbind compilation: cannot use unwind.h, as it is for the + target. So mimic configure... + This is a hack ???, the real fix is to link gnat1/gnatbind with the + runtime of the build compiler. */ +# ifdef EH_MECHANISM_arm +# include "config/arm/unwind-arm.h" +# else +# include "unwind-generic.h" +# endif +#else +# include "unwind.h" +#endif #ifdef __cplusplus extern "C" { @@ -98,6 +118,11 @@ extern void __gnat_raise_abort (void) __attribute__ ((noreturn)); #include "unwind-pe.h" +#ifdef __ARM_EABI_UNWINDER__ +/* for memcmp */ +#include <string.h> +#endif + /* The known and handled exception classes. */ #ifdef __ARM_EABI_UNWINDER__ |