From e342e8bca222c6cfdd6754d151afb7049360dd53 Mon Sep 17 00:00:00 2001
From: schwab <schwab@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 15 Aug 2001 15:57:41 +0000
Subject: [PATCH] 	* include/bits/std_limits.h
 [__glibcpp_long_double_bits == 96]: 	Define appropriate long double limits
 for m68k extended floating 	point. 	(__glibcpp_f32_digits10): Corrected,
 off by one. 	(__glibcpp_f80_digits10): Likewise. 
 (__glibcpp_f128_digits10): Likewise. 	*
 config/os/gnu-linux/bits/os_defines.h 	(__glibcpp_long_double_bits)
 [__mc68000__]: Define to 96.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44924 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libstdc++-v3/ChangeLog                        | 11 +++++++
 .../config/os/gnu-linux/bits/os_defines.h     |  4 +++
 libstdc++-v3/include/bits/std_limits.h        | 29 +++++++++++++++++--
 3 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 43743b8b8eb9..cfb754f0212f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,14 @@
+2001-08-15  Andreas Schwab  <schwab@suse.de>
+
+	* include/bits/std_limits.h [__glibcpp_long_double_bits == 96]:
+	Define appropriate long double limits for m68k extended floating
+	point.
+	(__glibcpp_f32_digits10): Corrected, off by one.
+	(__glibcpp_f80_digits10): Likewise.
+	(__glibcpp_f128_digits10): Likewise.
+	* config/os/gnu-linux/bits/os_defines.h
+	(__glibcpp_long_double_bits) [__mc68000__]: Define to 96.
+
 2001-08-15  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
 
 	* testsuite/18_support/numeric_limits.cc: Add more tests.
diff --git a/libstdc++-v3/config/os/gnu-linux/bits/os_defines.h b/libstdc++-v3/config/os/gnu-linux/bits/os_defines.h
index 63082ebeb9a4..db67d9752d46 100644
--- a/libstdc++-v3/config/os/gnu-linux/bits/os_defines.h
+++ b/libstdc++-v3/config/os/gnu-linux/bits/os_defines.h
@@ -75,5 +75,9 @@ typedef __loff_t __off64_t;
 #define __glibcpp_long_double_bits 64
 #endif
 
+#if defined (__mc68000__)
+#define __glibcpp_long_double_bits 96
+#endif
+
 #endif
 
diff --git a/libstdc++-v3/include/bits/std_limits.h b/libstdc++-v3/include/bits/std_limits.h
index 2d0804d31f72..a1572df3e7db 100644
--- a/libstdc++-v3/include/bits/std_limits.h
+++ b/libstdc++-v3/include/bits/std_limits.h
@@ -175,7 +175,7 @@
 #define __glibcpp_f32_min 1.17549435e-38F
 #define __glibcpp_f32_max 3.40282347e+38F
 #define __glibcpp_f32_digits 24
-#define __glibcpp_f32_digits10 7
+#define __glibcpp_f32_digits10 6
 #define __glibcpp_f32_radix 2
 #define __glibcpp_f32_epsilon 1.19209290e-07F
 #define __glibcpp_f32_round_error 1.0F
@@ -197,7 +197,7 @@
 #define __glibcpp_f80_min 3.36210314311209350626e-4932L
 #define __glibcpp_f80_max 1.18973149535723176502e+4932L
 #define __glibcpp_f80_digits 64
-#define __glibcpp_f80_digits10 19
+#define __glibcpp_f80_digits10 18
 #define __glibcpp_f80_radix 2
 #define __glibcpp_f80_epsilon 1.08420217248550443401e-19L
 #define __glibcpp_f80_round_error 1.0L
@@ -205,10 +205,21 @@
 #define __glibcpp_f80_min_exponent10 -4931
 #define __glibcpp_f80_max_exponent 16384
 #define __glibcpp_f80_max_exponent10 4932
+#define __glibcpp_f96_min 1.68105157155604675313e-4932L
+#define __glibcpp_f96_max 1.18973149535723176502e+4932L
+#define __glibcpp_f96_digits 64
+#define __glibcpp_f96_digits10 18
+#define __glibcpp_f96_radix 2
+#define __glibcpp_f96_epsilon 1.08420217248550443401e-19L
+#define __glibcpp_f96_round_error 1.0L
+#define __glibcpp_f96_min_exponent -16382
+#define __glibcpp_f96_min_exponent10 -4931
+#define __glibcpp_f96_max_exponent 16384
+#define __glibcpp_f96_max_exponent10 4932
 #define __glibcpp_f128_min 3.362103143112093506262677817321752603E-4932L
 #define __glibcpp_f128_max 1.189731495357231765085759326628007016E+4932L
 #define __glibcpp_f128_digits 113
-#define __glibcpp_f128_digits10 34
+#define __glibcpp_f128_digits10 33
 #define __glibcpp_f128_radix 2
 #define __glibcpp_f128_epsilon 1.925929944387235853055977942584927319E-34L
 #define __glibcpp_f128_round_error 1.0L
@@ -766,6 +777,18 @@
 #define __glibcpp_long_double_min_exponent10 __glibcpp_f80_min_exponent10
 #define __glibcpp_long_double_max_exponent __glibcpp_f80_max_exponent
 #define __glibcpp_long_double_max_exponent10 __glibcpp_f80_max_exponent10
+#elif __glibcpp_long_double_bits == 96
+#define __glibcpp_long_double_min __glibcpp_f96_min
+#define __glibcpp_long_double_max __glibcpp_f96_max
+#define __glibcpp_long_double_digits __glibcpp_f96_digits
+#define __glibcpp_long_double_digits10 __glibcpp_f96_digits10
+#define __glibcpp_long_double_radix __glibcpp_f96_radix
+#define __glibcpp_long_double_epsilon __glibcpp_f96_epsilon
+#define __glibcpp_long_double_round_error __glibcpp_f96_round_error
+#define __glibcpp_long_double_min_exponent __glibcpp_f96_min_exponent
+#define __glibcpp_long_double_min_exponent10 __glibcpp_f96_min_exponent10
+#define __glibcpp_long_double_max_exponent __glibcpp_f96_max_exponent
+#define __glibcpp_long_double_max_exponent10 __glibcpp_f96_max_exponent10
 #elif __glibcpp_long_double_bits == 128
 #define __glibcpp_long_double_min __glibcpp_f128_min
 #define __glibcpp_long_double_max __glibcpp_f128_max
-- 
GitLab