std_limits.h (__glibcpp_xxx_is_modulo): New macros for signed types; default value...
authorGabriel Dos Reis <gdr@merlin.codesourcery.com>
Tue, 25 Dec 2001 13:53:56 +0000 (13:53 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Tue, 25 Dec 2001 13:53:56 +0000 (13:53 +0000)
* 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.

From-SVN: r48311

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/std_limits.h

index ed0be81506b446c0547ac46df9d15a020a20e9b5..dcbbda7860bd0fac550c6bfe889fd4f546c19db4 100644 (file)
@@ -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>.
index b242437a9902b2c3022d03af82ed03725f48e3d9..7a6463625aed66020e330c2ba0bd85e969df172b 100644 (file)
 #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
 
 #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
 
 #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
 
 #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
 
 #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
 // 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<>