aboutsummaryrefslogtreecommitdiff
path: root/gcc/real.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2000-03-06 19:51:52 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2000-03-06 19:51:52 +0100
commit4710d3eb4bb35cc3d3792bad8452c4863634dfdc (patch)
tree251c088773457d9c51cd7f6ce790406d85595dd8 /gcc/real.h
parent6149cebb5271f69e7e12bb5bf874fb7f5a149084 (diff)
downloadgcc-4710d3eb4bb35cc3d3792bad8452c4863634dfdc.zip
gcc-4710d3eb4bb35cc3d3792bad8452c4863634dfdc.tar.gz
gcc-4710d3eb4bb35cc3d3792bad8452c4863634dfdc.tar.bz2
real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE if not defined.
* real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE if not defined. Use MAX_LONG_DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses. * real.c: Likewise. * gengenrtl.c: Likewise. * print-rtl.c: Likewise. * rtl.c: Likewise. * config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128. * config/sparc/sol2.h (TARGET_DEFAULT): Likewise. * config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise. * config/sparc/linux64 (TARGET_DEFAULT): Likewise. (SUBTARGET_SWITCHES): Define. (CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling with -mlong-double-128. (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags. (MAX_LONG_DOUBLE_TYPE_SIZE): Define. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros. (CC1_SPEC): Include -mlong-double-{64,128} as needed. * config/sparc/linux.h (SUBTARGET_SWITCHES): Define. (CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling with -mlong-double-128. (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags. (MAX_LONG_DOUBLE_TYPE_SIZE): Define. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros. * config/sparc/sparc.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128): Define. * config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove. * config/sparc/sparc.c (sparc_override_options): Disallow 64bit long double on TARGET_ARCH64. From-SVN: r32367
Diffstat (limited to 'gcc/real.h')
-rw-r--r--gcc/real.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/real.h b/gcc/real.h
index ea16d0b..66981f0 100644
--- a/gcc/real.h
+++ b/gcc/real.h
@@ -68,7 +68,10 @@ Boston, MA 02111-1307, USA. */
#ifndef LONG_DOUBLE_TYPE_SIZE
#define LONG_DOUBLE_TYPE_SIZE 64
#endif
-#if (LONG_DOUBLE_TYPE_SIZE == 96) || (LONG_DOUBLE_TYPE_SIZE == 128)
+#ifndef MAX_LONG_DOUBLE_TYPE_SIZE
+#define MAX_LONG_DOUBLE_TYPE_SIZE LONG_DOUBLE_TYPE_SIZE
+#endif
+#if (MAX_LONG_DOUBLE_TYPE_SIZE == 96) || (MAX_LONG_DOUBLE_TYPE_SIZE == 128)
#ifndef REAL_ARITHMETIC
#define REAL_ARITHMETIC
#endif
@@ -78,7 +81,7 @@ Boston, MA 02111-1307, USA. */
/* Support 80-bit extended real XFmode if LONG_DOUBLE_TYPE_SIZE
has been defined to be 96 in the tm.h machine file. */
-#if (LONG_DOUBLE_TYPE_SIZE == 96)
+#if (MAX_LONG_DOUBLE_TYPE_SIZE == 96)
#define REAL_IS_NOT_DOUBLE
#define REAL_ARITHMETIC
typedef struct {
@@ -88,7 +91,7 @@ typedef struct {
#else /* no XFmode support */
-#if (LONG_DOUBLE_TYPE_SIZE == 128)
+#if (MAX_LONG_DOUBLE_TYPE_SIZE == 128)
#define REAL_IS_NOT_DOUBLE
#define REAL_ARITHMETIC
@@ -199,7 +202,7 @@ extern REAL_VALUE_TYPE real_value_truncate PARAMS ((enum machine_mode,
ereal_from_uint (&d, lo, hi, mode)
/* IN is a REAL_VALUE_TYPE. OUT is an array of longs. */
-#if LONG_DOUBLE_TYPE_SIZE == 96
+#if MAX_LONG_DOUBLE_TYPE_SIZE == 96
#define REAL_VALUE_TO_TARGET_LONG_DOUBLE(IN, OUT) (etarldouble ((IN), (OUT)))
#else
#define REAL_VALUE_TO_TARGET_LONG_DOUBLE(IN, OUT) (etartdouble ((IN), (OUT)))