ostream_inserter_arith.cc (test03): Better fix for 32/64 bit architectures...
authorPaolo Carlini <pcarlini@unitus.it>
Wed, 30 Jan 2002 20:45:18 +0000 (21:45 +0100)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 30 Jan 2002 20:45:18 +0000 (20:45 +0000)
2002-01-30  Paolo Carlini  <pcarlini@unitus.it>

        * testsuite/27_io/ostream_inserter_arith.cc (test03):
        Better fix for 32/64 bit architectures, avoiding the
        implicit assumption that CHAR_BIT == 8.

From-SVN: r49342

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc

index 71887a48a368deac728558c53e5eeefdecf18958..05ff24c8b55498573229318354fb56f926924222 100644 (file)
@@ -1,3 +1,9 @@
+2002-01-30  Paolo Carlini  <pcarlini@unitus.it>
+
+       * testsuite/27_io/ostream_inserter_arith.cc (test03):
+       Better fix for 32/64 bit architectures, avoiding the
+       implicit assumption that CHAR_BIT == 8.
+
 2002-01-28  Phil Edwards  <pme@gcc.gnu.org>
 
        * Makefile.am (doxygen, doxygen-maint, doxygen-man):  Tweak targets.
index bf93950c8c4095e5a56663f956b0312f5105fc61..0025425a4f667b64524d03aa9880513e151a535c 100644 (file)
@@ -312,26 +312,26 @@ test03()
   ostream o(&strbuf);
 
   o << oct << s << ' ' << hex << s;
-  if (sizeof(short) == 2)
+  if (numeric_limits<short>::digits + 1 == 16)
     VERIFY( strbuf.str() == "177777 ffff" );
-  else // sizeof(short) == 4
+  else
     VERIFY( strbuf.str() == "37777777777 ffffffff" );
   strbuf.str(str_blank);
 
   o << oct << i << ' ' << hex << i;
-  if (sizeof(int) == 2)
+  if (numeric_limits<int>::digits + 1 == 16)
     VERIFY( strbuf.str() == "177777 ffff" );
-  else if (sizeof(int) == 4)
+  else if (numeric_limits<int>::digits + 1 == 32)
     VERIFY( strbuf.str() == "37777777777 ffffffff" );
-  else // sizeof(int) == 8
+  else
     VERIFY( strbuf.str() == "1777777777777777777777 "
            "ffffffffffffffff" );
   strbuf.str(str_blank);
 
   o << oct << l << ' ' << hex << l;
-  if (sizeof(long) == 4)
+  if (numeric_limits<long>::digits + 1 == 32)
     VERIFY( strbuf.str() == "37777777777 ffffffff" );
-  else // sizeof(long) == 8
+  else
     VERIFY( strbuf.str() == "1777777777777777777777 "
            "ffffffffffffffff" );
   strbuf.str(str_blank);