From 4710d3eb4bb35cc3d3792bad8452c4863634dfdc Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 6 Mar 2000 19:51:52 +0100 Subject: 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 --- gcc/real.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gcc/real.h') 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))) -- cgit v1.1