summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-30 16:35:54 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-30 16:35:54 +0000
commitbbbacc0bf0173e75a82d663ff0ac96fdda438c06 (patch)
tree387af934db628c3ee3e1116abae25c0808282141 /gcc
parent897b0faf9dc87e8b01900509971b7fa3e3c20604 (diff)
downloadgcc-bbbacc0bf0173e75a82d663ff0ac96fdda438c06.tar.gz
* raise-gcc.c: Do not include coretypes.h and tm.h.
(setup_to_install): Remove test for compiler macro. * targext.c: Document use for the library. * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178333 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/gcc-interface/Makefile.in5
-rw-r--r--gcc/ada/raise-gcc.c14
-rw-r--r--gcc/ada/targext.c4
4 files changed, 13 insertions, 17 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 5bc7819d361..ffa53871425 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,12 @@
2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
+ * raise-gcc.c: Do not include coretypes.h and tm.h.
+ (setup_to_install): Remove test for compiler macro.
+ * targext.c: Document use for the library.
+ * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
+
+2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
+
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
the expression to the nominal type if the latter is a record type with
a variant part and the type of the former is a record type without one.
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 30993ba2ee3..7fb16136d18 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -223,8 +223,9 @@ endif
all.indirect: Makefile ../gnat1$(exeext)
-# IN_GCC distinguishes between code compiled into GCC itself and other
-# programs built during a bootstrap.
+# IN_GCC is meant to distinguish between code compiled into GCC itself, i.e.
+# for the host, and the rest. But we also use it for the tools (link.c) and
+# even break the host/target wall by using it for the library (targext.c).
# autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross
# compiler which does not use the native libraries and headers.
INTERNAL_CFLAGS = @CROSS@ -DIN_GCC
diff --git a/gcc/ada/raise-gcc.c b/gcc/ada/raise-gcc.c
index 729b76c25de..0ced5598c14 100644
--- a/gcc/ada/raise-gcc.c
+++ b/gcc/ada/raise-gcc.c
@@ -35,14 +35,6 @@
#ifdef IN_RTS
#include "tconfig.h"
#include "tsystem.h"
-/* In the top-of-tree GCC, tconfig does not include tm.h, but in GCC 3.2
- it does. To avoid branching raise.c just for that purpose, we kludge by
- looking for a symbol always defined by tm.h and if it's not defined,
- we include it. */
-#ifndef FIRST_PSEUDO_REGISTER
-#include "coretypes.h"
-#include "tm.h"
-#endif
#include <sys/stat.h>
#include <stdarg.h>
typedef char bool;
@@ -1007,11 +999,6 @@ setup_to_install (_Unwind_Context *uw_context,
_Unwind_Ptr uw_landing_pad,
int uw_filter)
{
-#ifndef EH_RETURN_DATA_REGNO
- /* We should not be called if the appropriate underlying support is not
- there. */
- abort ();
-#else
/* 1/ exception object pointer, which might be provided back to
_Unwind_Resume (and thus to this personality routine) if we are jumping
to a cleanup. */
@@ -1026,7 +1013,6 @@ setup_to_install (_Unwind_Context *uw_context,
/* Setup the address we should jump at to reach the code where there is the
"something" we found. */
_Unwind_SetIP (uw_context, uw_landing_pad);
-#endif
}
/* The following is defined from a-except.adb. Its purpose is to enable
diff --git a/gcc/ada/targext.c b/gcc/ada/targext.c
index df4286c0d27..6a9f970c286 100644
--- a/gcc/ada/targext.c
+++ b/gcc/ada/targext.c
@@ -31,7 +31,9 @@
/* This file contains target-specific parameters describing the file
extension for object and executable files. It is used by the compiler,
- binder and tools. */
+ binder, library and tools.
+ Note that, in order to have access to the TARGET_* macros used below,
+ the file must be compiled with IN_GCC defined, even for the library. */
#ifdef __cplusplus
extern "C" {