summaryrefslogtreecommitdiffstats
path: root/gcc/config/s390
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-21 15:48:31 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-21 15:48:31 +0000
commitf553e2d14b8e9f40f389d4480f9526e3f07329e5 (patch)
tree813ff95691e7ec1d7ff69bd19ce80150b729d9ea /gcc/config/s390
parent92d6279841f8d8d358192ceb92e1e796b4905623 (diff)
downloadppe42-gcc-f553e2d14b8e9f40f389d4480f9526e3f07329e5.tar.gz
ppe42-gcc-f553e2d14b8e9f40f389d4480f9526e3f07329e5.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64669 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/s390')
-rw-r--r--gcc/config/s390/s390.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 53e0d14cf4b..15dc45c96b3 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. */
OpenPOWER on IntegriCloud