summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-25 13:53:56 +0000
committergdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-25 13:53:56 +0000
commitab3526d21c829757f7961f105d0b0ed1544173f6 (patch)
tree094bedbe05011da9b07991e33ada12acc3dfa5bb
parent27bcd53039faa592d754889c5d39fd5887d68756 (diff)
downloadgcc-ab3526d21c829757f7961f105d0b0ed1544173f6.tar.gz
* include/bits/std_limits.h (__glibcpp_xxx_is_modulo): New
macros for signed types; default value is true. (numeric_limits<>::is_modulo): Get value from corresponding __glibcpp_xxx_is_modulo macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48311 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/include/bits/std_limits.h45
2 files changed, 44 insertions, 8 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ed0be81506b..dcbbda7860b 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2001-12-25 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
+
+ * include/bits/std_limits.h (__glibcpp_xxx_is_modulo): New
+ macros for signed types; default value is true.
+ (numeric_limits<>::is_modulo): Get value from corresponding
+ __glibcpp_xxx_is_modulo macro.
+
Sun Dec 23 18:47:24 2001 Jeffrey A Law (law@redhat.com)
* config/os/hpux/bits/os_defines.h: Do not include <_sys/inttypes.h>.
diff --git a/libstdc++-v3/include/bits/std_limits.h b/libstdc++-v3/include/bits/std_limits.h
index b242437a990..7a6463625ae 100644
--- a/libstdc++-v3/include/bits/std_limits.h
+++ b/libstdc++-v3/include/bits/std_limits.h
@@ -245,6 +245,12 @@
#define __glibcpp_plain_char_traps true
#define __glibcpp_signed_char_traps true
#define __glibcpp_unsigned_char_traps true
+#ifndef __glibcpp_char_is_modulo
+#define __glibcpp_char_is_modulo true
+#endif
+#ifndef __glibcpp_signed_char_is_modulo
+#define __glibcpp_signed_char_is_modulo true
+#endif
#if __glibcpp_char_bits == 8
#define __glibcpp_signed_char_min __glibcpp_s8_min
#define __glibcpp_signed_char_max __glibcpp_s8_max
@@ -301,6 +307,9 @@
#define __glibcpp_signed_short_traps true
#define __glibcpp_unsigned_short_traps true
+#ifndef __glibcpp_signed_short_is_modulo
+#define __glibcpp_signed_short_is_modulo true
+#endif
#if __glibcpp_short_bits == 8
#define __glibcpp_signed_short_min __glibcpp_s8_min
#define __glibcpp_signed_short_max __glibcpp_s8_max
@@ -345,6 +354,9 @@
#define __glibcpp_signed_int_traps true
#define __glibcpp_unsigned_int_traps true
+#ifndef __glibcpp_signed_int_is_modulo
+#define __glibcpp_signed_int_is_modulo true
+#endif
#if __glibcpp_int_bits == 8
#define __glibcpp_signed_int_min __glibcpp_s8_min
#define __glibcpp_signed_int_max __glibcpp_s8_max
@@ -389,6 +401,9 @@
#define __glibcpp_signed_long_traps true
#define __glibcpp_unsigned_long_traps true
+#ifndef __glibcpp_signed_long_is_modulo
+#define __glibcpp_signed_long_is_modulo true
+#endif
#if __glibcpp_long_bits == 8
#define __glibcpp_signed_long_min __glibcpp_s8_min
#define __glibcpp_signed_long_max __glibcpp_s8_max
@@ -433,6 +448,9 @@
#define __glibcpp_signed_long_long_traps true
#define __glibcpp_signed_long_long_traps true
+#ifndef __glibcpp_signed_long_long_is_modulo
+#define __glibcpp_signed_long_long_is_modulo true
+#endif
#if __glibcpp_long_long_bits == 8
#define __glibcpp_signed_long_long_min __glibcpp_s8_min
#define __glibcpp_signed_long_long_max __glibcpp_s8_max
@@ -478,6 +496,9 @@
// wchar_t
#define __glibcpp_wchar_t_traps true
+#ifndef __glibcpp_wchar_t_is_modulo
+#define __glibcpp_wchar_t_is_modulo true
+#endif
#if __glibcpp_wchar_t_is_signed
#if __glibcpp_wchar_t_bits == 8
#define __glibcpp_wchar_t_min __glibcpp_s8_min
@@ -1121,9 +1142,9 @@ namespace std
static const bool is_iec559 = false;
static const bool is_bounded = true;
- static const bool is_modulo = false;
+ static const bool is_modulo = __glibcpp_char_is_modulo;
- static const bool traps = __glibcpp_signed_char_traps;
+ static const bool traps = __glibcpp_char_traps;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
@@ -1133,9 +1154,11 @@ namespace std
#undef __glibcpp_char_digits
#undef __glibcpp_char_digits10
#undef __glibcpp_char_is_signed
+#undef __glibcpp_char_is_modulo
#undef __glibcpp_char_traps
+
template<>
struct numeric_limits<signed char>
{
@@ -1179,7 +1202,7 @@ namespace std
static const bool is_iec559 = false;
static const bool is_bounded = true;
- static const bool is_modulo = false;
+ static const bool is_modulo = __glibcpp_signed_char_is_modulo;
static const bool traps = __glibcpp_signed_char_traps;
static const bool tinyness_before = false;
@@ -1190,6 +1213,7 @@ namespace std
#undef __glibcpp_signed_char_max
#undef __glibcpp_signed_char_digits
#undef __glibcpp_signed_char_digits10
+#undef __glibcpp_signed_char_is_modulo
#undef __glibcpp_signed_char_traps
template<>
@@ -1290,7 +1314,7 @@ namespace std
static const bool is_iec559 = false;
static const bool is_bounded = true;
- static const bool is_modulo = false;
+ static const bool is_modulo = __glibcpp_wchar_t_is_modulo;
static const bool traps = __glibcpp_wchar_t_traps;
static const bool tinyness_before = false;
@@ -1302,6 +1326,7 @@ namespace std
#undef __glibcpp_wchar_t_digits
#undef __glibcpp_wchar_t_digits10
#undef __glibcpp_wchar_t_is_signed
+#undef __glibcpp_wchar_t_is_modulo
#undef __glibcpp_wchar_t_traps
template<>
@@ -1347,7 +1372,7 @@ namespace std
static const bool is_iec559 = true;
static const bool is_bounded = true;
- static const bool is_modulo = false;
+ static const bool is_modulo = __glibcpp_signed_short_is_modulo;
static const bool traps = __glibcpp_signed_short_traps;
static const bool tinyness_before = false;
@@ -1358,6 +1383,7 @@ namespace std
#undef __glibcpp_signed_short_max
#undef __glibcpp_signed_short_digits
#undef __glibcpp_signed_short_digits10
+#undef __glibcpp_signed_short_is_modulo
#undef __glibcpp_signed_short_traps
template<>
@@ -1458,7 +1484,7 @@ namespace std
static const bool is_iec559 = true;
static const bool is_bounded = true;
- static const bool is_modulo = false;
+ static const bool is_modulo = __glibcpp_signed_int_is_modulo;
static const bool traps = __glibcpp_signed_int_traps;
static const bool tinyness_before = false;
@@ -1469,6 +1495,7 @@ namespace std
#undef __glibcpp_signed_int_max
#undef __glibcpp_signed_int_digits
#undef __glibcpp_signed_int_digits10
+#undef __glibcpp_signed_int_is_modulo
#undef __glibcpp_signed_int_traps
template<>
@@ -1569,7 +1596,7 @@ namespace std
static const bool is_iec559 = true;
static const bool is_bounded = true;
- static const bool is_modulo = false;
+ static const bool is_modulo = __glibcpp_signed_long_is_modulo;
static const bool traps = __glibcpp_signed_long_traps;
static const bool tinyness_before = false;
@@ -1580,6 +1607,7 @@ namespace std
#undef __glibcpp_signed_long_max
#undef __glibcpp_signed_long_digits
#undef __glibcpp_signed_long_digits10
+#undef __glibcpp_signed_long_is_modulo
#undef __glibcpp_signed_long_traps
template<>
@@ -1680,7 +1708,7 @@ namespace std
static const bool is_iec559 = true;
static const bool is_bounded = true;
- static const bool is_modulo = false;
+ static const bool is_modulo = __glibcpp_signed_long_long_is_modulo;
static const bool traps = __glibcpp_signed_long_long_traps;
static const bool tinyness_before = false;
@@ -1691,6 +1719,7 @@ namespace std
#undef __glibcpp_signed_long_long_max
#undef __glibcpp_signed_long_long_digits
#undef __glibcpp_signed_long_long_digits10
+#undef __glibcpp_signed_long_long_is_modulo
#undef __glibcpp_signed_long_long_traps
template<>