From: David Edelsohn Date: Mon, 23 Jul 2001 16:41:03 +0000 (+0000) Subject: limits_generic.h (int): Set digits and digits10 appropriately for word size. X-Git-Tag: prereleases/libstdc++-3.0.95~3108 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cba6dfc843af5480bba2bc7158eb70f69495f9d1;p=thirdparty%2Fgcc.git limits_generic.h (int): Set digits and digits10 appropriately for word size. * include/bits/limits_generic.h (int): Set digits and digits10 appropriately for word size. (unsigned int,long,unsigned long): Likewise. From-SVN: r44271 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0e0c8472ccab..e4df055070d4 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2001-07-23 David Edelsohn + + * 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 * include/bits/stl_algo.h : Fix typos. diff --git a/libstdc++-v3/include/bits/limits_generic.h b/libstdc++-v3/include/bits/limits_generic.h index 42cae71a770b..a5dd29963105 100644 --- a/libstdc++-v3/include/bits/limits_generic.h +++ b/libstdc++-v3/include/bits/limits_generic.h @@ -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;