From 4debe14deb949b6ba322c14fc63e457678cfda23 Mon Sep 17 00:00:00 2001
From: Paolo Carlini <pcarlini@unitus.it>
Date: Mon, 28 Jan 2002 21:06:15 +0100
Subject: [PATCH] ostream_inserter_arith.cc (test03): Fix to deal correctly
 with both 32 bit and 64 bit architectures

2002-01-28  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/ostream_inserter_arith.cc (test03):
	Fix to deal correctly with both 32 bit and 64 bit architectures

From-SVN: r49295
---
 libstdc++-v3/ChangeLog                        |  5 ++++
 .../testsuite/27_io/ostream_inserter_arith.cc | 25 ++++++++++++++-----
 2 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 3370daeff9f6..044f549587bc 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-28  Paolo Carlini  <pcarlini@unitus.it>
+
+	* testsuite/27_io/ostream_inserter_arith.cc (test03):
+	Fix to deal correctly with both 32 bit and 64 bit architectures
+
 2002-01-25  Loren Rittle <ljrittle@acm.org>
 
 	* testsuite/thread/pthread1.cc: Use one condition variable
diff --git a/libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc b/libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc
index dd443d99bd80..bf93950c8c40 100644
--- a/libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc
+++ b/libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc
@@ -311,16 +311,29 @@ test03()
   stringbuf strbuf;
   ostream o(&strbuf);
 
-  o << oct << s << ' ' << hex << s; 
-  VERIFY( strbuf.str() == "177777 ffff" ); // Assuming 2byte-shorts
+  o << oct << s << ' ' << hex << s;
+  if (sizeof(short) == 2)
+    VERIFY( strbuf.str() == "177777 ffff" );
+  else // sizeof(short) == 4
+    VERIFY( strbuf.str() == "37777777777 ffffffff" );
   strbuf.str(str_blank);
 
-  o << oct << i << ' ' << hex << i; 
-  VERIFY( strbuf.str() == "37777777777 ffffffff" );
+  o << oct << i << ' ' << hex << i;
+  if (sizeof(int) == 2)
+    VERIFY( strbuf.str() == "177777 ffff" );
+  else if (sizeof(int) == 4)
+    VERIFY( strbuf.str() == "37777777777 ffffffff" );
+  else // sizeof(int) == 8
+    VERIFY( strbuf.str() == "1777777777777777777777 "
+	    "ffffffffffffffff" );
   strbuf.str(str_blank);
 
-  o << oct << l << ' ' << hex << l; 
-  VERIFY( strbuf.str() == "37777777777 ffffffff" );
+  o << oct << l << ' ' << hex << l;
+  if (sizeof(long) == 4)
+    VERIFY( strbuf.str() == "37777777777 ffffffff" );
+  else // sizeof(long) == 8
+    VERIFY( strbuf.str() == "1777777777777777777777 "
+	    "ffffffffffffffff" );
   strbuf.str(str_blank);
 
   o << showpos << hex << showbase << 11;
-- 
GitLab