aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2003-03-21 15:48:31 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2003-03-21 15:48:31 +0000
commitfe86047cda585728b40c8106969f4ae39332801a (patch)
tree813ff95691e7ec1d7ff69bd19ce80150b729d9ea
parentf3146d75a925306d35d582c3c927d06ce93aa03d (diff)
downloadgcc-fe86047cda585728b40c8106969f4ae39332801a.zip
gcc-fe86047cda585728b40c8106969f4ae39332801a.tar.gz
gcc-fe86047cda585728b40c8106969f4ae39332801a.tar.bz2
s390.h: Do not include fixdfdi.h on s390x.
* config/s390/s390.h: Do not include fixdfdi.h on s390x. (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2. (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2. From-SVN: r64669
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/s390/s390.h15
2 files changed, 20 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e7d8aab..874cad1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h: Do not include fixdfdi.h on s390x.
+ (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
+ (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
+
2003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR doc-bug/9813
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 53e0d14..15dc45c 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
/* Override the __fixdfdi etc. routines when building libgcc2.
??? This should be done in a cleaner way ... */
-#ifdef IN_LIBGCC2
+#if defined (IN_LIBGCC2) && !defined (__s390x__)
#include <s390/fixdfdi.h>
#endif
@@ -134,6 +134,17 @@ extern int target_flags;
#define CAN_DEBUG_WITHOUT_FP
+/* In libgcc2, determine target settings as compile-time constants. */
+#ifdef IN_LIBGCC2
+#undef TARGET_64BIT
+#ifdef __s390x__
+#define TARGET_64BIT 1
+#else
+#define TARGET_64BIT 0
+#endif
+#endif
+
+
/* Target machine storage layout. */
/* Everything is big-endian. */
@@ -143,7 +154,9 @@ extern int target_flags;
/* Width of a word, in units (bytes). */
#define UNITS_PER_WORD (TARGET_64BIT ? 8 : 4)
+#ifndef IN_LIBGCC2
#define MIN_UNITS_PER_WORD 4
+#endif
#define MAX_BITS_PER_WORD 64
/* Function arguments and return values are promoted to word size. */