OSDN Git Service

* include/bits/limits_generic.h (int): Set digits and digits10
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 Jul 2001 16:41:03 +0000 (16:41 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 Jul 2001 16:41:03 +0000 (16:41 +0000)
appropriately for word size.
(unsigned int,long,unsigned long): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44271 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 0e0c847..e4df055 100644 (file)
@@ -1,3 +1,9 @@
+2001-07-23  David Edelsohn  <edelsohn@gnu.org>
+
+       * include/bits/limits_generic.h (int): Set digits and digits10
+       appropriately for word size.
+       (unsigned int,long,unsigned long): Likewise.
+
 2001-07-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
 
         * include/bits/stl_algo.h : Fix typos.
index 42cae71..a5dd299 100644 (file)
@@ -469,8 +469,13 @@ namespace std {
         static int max() throw()
         { return INT_MAX; }
 
+#if INT_MAX > 32767
         static const int digits = 31;
         static const int digits10 = 9;
+#else
+        static const int digits = 15;
+        static const int digits10 = 4;
+#endif
         static const bool is_signed = true;
         static const bool is_integer = true;
         static const bool is_exact = true;
@@ -517,8 +522,13 @@ namespace std {
         static unsigned int max() throw()
         { return UINT_MAX; }
 
+#if INT_MAX > 32767
         static const int digits = 32;
         static const int digits10 = 9;
+#else
+        static const int digits = 16;
+        static const int digits10 = 4;
+#endif
         static const bool is_signed = false;
         static const bool is_integer = true;
         static const bool is_exact = true;
@@ -565,8 +575,16 @@ namespace std {
         static long max() throw()
         { return LONG_MAX; }
 
+#if LONG_MAX > 2147483647
+        static const int digits = 63;
+        static const int digits10 = 18;
+#elif LONG_MAX > 32767
         static const int digits = 31;
         static const int digits10 = 9;
+#else
+        static const int digits = 15;
+        static const int digits10 = 4;
+#endif
         static const bool is_signed = true;
         static const bool is_integer = true;
         static const bool is_exact = true;
@@ -613,8 +631,16 @@ namespace std {
         static unsigned long max() throw()
         { return ULONG_MAX; }
 
+#if LONG_MAX > 2147483647
+        static const int digits = 64;
+        static const int digits10 = 19;
+#elif LONG_MAX > 32767
         static const int digits = 32;
         static const int digits10 = 9;
+#else
+        static const int digits = 16;
+        static const int digits10 = 4;
+#endif
         static const bool is_signed = false;
         static const bool is_integer = true;
         static const bool is_exact = true;