summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/std/std_limits.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-22 18:36:38 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-22 18:36:38 +0000
commitb71b4c371046ad20e102d1a1ac71f4249896d105 (patch)
tree9780943ae080acb7fddf60104bae37bfd020a57d /libstdc++-v3/include/std/std_limits.h
parentfe28a50bbaef8ff0b40107065776272c4eb031f4 (diff)
downloadppe42-gcc-b71b4c371046ad20e102d1a1ac71f4249896d105.tar.gz
ppe42-gcc-b71b4c371046ad20e102d1a1ac71f4249896d105.zip
* include/std/std_limits.h (__glibcpp_f32_is_iec559,
__glibcpp_f64_is_iec559, __glibcpp_f80_is_iec559, __glibcpp_f96_is_iec559, __glibcpp_f128_is_iec559, __glibcpp_float_is_iec559, __glibcpp_double_is_iec559, __glibcpp_long_double_is_iec559): Remove. (numeric_limits<float>::is_iec559): Use has_infinity & has_quiet_NaN. (numeric_limits<double>, numeric_limits<long double>): Similarly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57413 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/std/std_limits.h')
-rw-r--r--libstdc++-v3/include/std/std_limits.h83
1 files changed, 3 insertions, 80 deletions
diff --git a/libstdc++-v3/include/std/std_limits.h b/libstdc++-v3/include/std/std_limits.h
index 088f506d9ac..bb71fb18950 100644
--- a/libstdc++-v3/include/std/std_limits.h
+++ b/libstdc++-v3/include/std/std_limits.h
@@ -150,34 +150,6 @@
#define __glibcpp_u64_digits 64
#define __glibcpp_u64_digits10 19
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f32_is_iec559 true
-#endif
-#ifndef __glibcpp_f32_is_iec559
-# define __glibcpp_f32_is_iec559 false
-#endif
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f64_is_iec559 true
-#endif
-#ifndef __glibcpp_f64_is_iec559
-# define __glibcpp_f64_is_iec559 false
-#endif
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f80_is_iec559 true
-#endif
-#ifndef __glibcpp_f80_is_iec559
-# define __glibcpp_f80_is_iec559 false
-#endif
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f96_is_iec559 true
-#endif
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f128_is_iec559 true
-#endif
-#ifndef __glibcpp_f128_is_iec559
-# define __glibcpp_f128_is_iec559 false
-#endif
-
// bool-specific hooks:
// __glibcpp_bool_digits __glibcpp_int_traps __glibcpp_long_traps
@@ -497,16 +469,6 @@
// float
//
-#if __FLOAT_BIT__ == 32
-# define __glibcpp_float_is_iec559 __glibcpp_f32_is_iec559
-#elif __FLOAT_BIT__ == 64
-# define __glibcpp_float_is_iec559 __glibcpp_f64_is_iec559
-#elif __FLOAT_BIT__ == 80
-# define __glibcpp_float_is_iec559 __glibcpp_f80_is_iec559
-#else
-// You must define these macros in the configuration file.
-#endif
-
// Default values. Should be overriden in configuration files if necessary.
#ifndef __glibcpp_float_has_denorm_loss
@@ -517,10 +479,6 @@
# define __glibcpp_float_is_bounded true
#endif
-#ifndef __glibcpp_float_is_iec559
-# define __glibcpp_float_is_iec559 false
-#endif
-
#ifndef __glibcpp_float_is_modulo
# define __glibcpp_float_is_modulo false
#endif
@@ -535,26 +493,12 @@
// double
-#if __DOUBLE_BIT__ == 32
-# define __glibcpp_double_is_iec559 __glibcpp_f32_is_iec559
-#elif __DOUBLE_BIT__ == 64
-# define __glibcpp_double_is_iec559 __glibcpp_f64_is_iec559
-#elif __DOUBLE_BIT__ == 80
-# define __glibcpp_double_is_iec559 __glibcpp_f80_is_iec559
-#else
-// You must define these macros in the configuration file.
-#endif
-
// Default values. Should be overriden in configuration files if necessary.
#ifndef __glibcpp_double_has_denorm_loss
# define __glibcpp_double_has_denorm_loss false
#endif
-#ifndef __glibcpp_double_is_iec559
-# define __glibcpp_double_is_iec559 false
-#endif
-
#ifndef __glibcpp_double_is_bounded
# define __glibcpp_double_is_bounded true
#endif
@@ -573,30 +517,12 @@
// long double
-#if __LONG_DOUBLE_BIT__ == 32
-# define __glibcpp_long_double_is_iec559 __glibcpp_f32_is_iec559
-#elif __LONG_DOUBLE_BIT__ == 64
-# define __glibcpp_long_double_is_iec559 __glibcpp_f64_is_iec559
-#elif __LONG_DOUBLE_BIT__ == 80
-# define __glibcpp_long_double_is_iec559 __glibcpp_f80_is_iec559
-#elif __LONG_DOUBLE_BIT__ == 96
-# define __glibcpp_long_double_is_iec559 __glibcpp_f96_is_iec559
-#elif __LONG_DOUBLE_BIT__ == 128
-# define __glibcpp_long_double_is_iec559 __glibcpp_f128_is_iec559
-#else
-// You must define these macros in the configuration file.
-#endif
-
// Default values. Should be overriden in configuration files if necessary.
#ifndef __glibcpp_long_double_has_denorm_loss
# define __glibcpp_long_double_has_denorm_loss false
#endif
-#ifndef __glibcpp_long_double_is_iec559
-# define __glibcpp_long_double_is_iec559 false
-#endif
-
#ifndef __glibcpp_long_double_is_bounded
# define __glibcpp_long_double_is_bounded true
#endif
@@ -1502,7 +1428,7 @@ namespace std
static float denorm_min() throw()
{ return __FLT_DENORM_MIN__; }
- static const bool is_iec559 = __glibcpp_float_is_iec559;
+ static const bool is_iec559 = has_infinity && has_quiet_NaN;
static const bool is_bounded = __glibcpp_float_is_bounded;
static const bool is_modulo = __glibcpp_float_is_modulo;
@@ -1512,7 +1438,6 @@ namespace std
};
#undef __glibcpp_float_has_denorm_loss
-#undef __glibcpp_float_is_iec559
#undef __glibcpp_float_is_bounded
#undef __glibcpp_float_is_modulo
#undef __glibcpp_float_traps
@@ -1562,7 +1487,7 @@ namespace std
static double denorm_min() throw()
{ return __DBL_DENORM_MIN__; }
- static const bool is_iec559 = __glibcpp_double_is_iec559;
+ static const bool is_iec559 = has_infinity && has_quiet_NaN;
static const bool is_bounded = __glibcpp_double_is_bounded;
static const bool is_modulo = __glibcpp_double_is_modulo;
@@ -1572,7 +1497,6 @@ namespace std
};
#undef __glibcpp_double_has_denorm_loss
-#undef __glibcpp_double_is_iec559
#undef __glibcpp_double_is_bounded
#undef __glibcpp_double_is_modulo
#undef __glibcpp_double_traps
@@ -1624,7 +1548,7 @@ namespace std
static long double denorm_min() throw()
{ return __LDBL_DENORM_MIN__; }
- static const bool is_iec559 = __glibcpp_long_double_is_iec559;
+ static const bool is_iec559 = has_infinity && has_quiet_NaN;
static const bool is_bounded = __glibcpp_long_double_is_bounded;
static const bool is_modulo = __glibcpp_long_double_is_modulo;
@@ -1634,7 +1558,6 @@ namespace std
};
#undef __glibcpp_long_double_has_denorm_loss
-#undef __glibcpp_long_double_is_iec559
#undef __glibcpp_long_double_is_bounded
#undef __glibcpp_long_double_is_modulo
#undef __glibcpp_long_double_traps
OpenPOWER on IntegriCloud