From a98c14f43c958ac64391fbbde39b8396144670e0 Mon Sep 17 00:00:00 2001
From: Paolo Carlini <pcarlini@suse.de>
Date: Fri, 6 Jan 2006 02:11:55 +0000
Subject: [PATCH] testsuite_hooks.h (test_tm(unsigned)): Change to take all the
 tm members.

2006-01-05  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/testsuite_hooks.h (test_tm(unsigned)): Change to
	take all the tm members.
	* testsuite/testsuite_hooks.cc (test_tm): Adjust.
	* testsuite/22_locale/time_put/put/wchar_t/10.cc: Update.
	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/10.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/9.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
 	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
 	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.

From-SVN: r109407
---
 libstdc++-v3/ChangeLog                        | 60 +++++++++++++++++++
 .../22_locale/time_get/get_date/char/1.cc     |  2 +-
 .../22_locale/time_get/get_date/char/12750.cc |  4 +-
 .../22_locale/time_get/get_date/char/2.cc     |  2 +-
 .../22_locale/time_get/get_date/char/3.cc     |  2 +-
 .../22_locale/time_get/get_date/wchar_t/1.cc  |  2 +-
 .../time_get/get_date/wchar_t/12750.cc        |  4 +-
 .../22_locale/time_get/get_date/wchar_t/2.cc  |  2 +-
 .../22_locale/time_get/get_date/wchar_t/3.cc  |  2 +-
 .../time_get/get_monthname/char/1.cc          |  2 +-
 .../time_get/get_monthname/char/2.cc          |  2 +-
 .../time_get/get_monthname/wchar_t/1.cc       |  2 +-
 .../time_get/get_monthname/wchar_t/2.cc       |  2 +-
 .../22_locale/time_get/get_time/char/1.cc     |  2 +-
 .../22_locale/time_get/get_time/char/2.cc     |  2 +-
 .../22_locale/time_get/get_time/char/3.cc     |  2 +-
 .../22_locale/time_get/get_time/char/4.cc     |  2 +-
 .../22_locale/time_get/get_time/wchar_t/1.cc  |  2 +-
 .../22_locale/time_get/get_time/wchar_t/2.cc  |  2 +-
 .../22_locale/time_get/get_time/wchar_t/3.cc  |  2 +-
 .../22_locale/time_get/get_time/wchar_t/4.cc  |  2 +-
 .../22_locale/time_get/get_weekday/char/1.cc  |  2 +-
 .../22_locale/time_get/get_weekday/char/2.cc  |  2 +-
 .../22_locale/time_get/get_weekday/char/3.cc  |  2 +-
 .../time_get/get_weekday/wchar_t/1.cc         |  2 +-
 .../time_get/get_weekday/wchar_t/2.cc         |  2 +-
 .../time_get/get_weekday/wchar_t/3.cc         |  2 +-
 .../22_locale/time_get/get_year/char/1.cc     |  2 +-
 .../22_locale/time_get/get_year/char/3.cc     |  2 +-
 .../22_locale/time_get/get_year/wchar_t/1.cc  |  2 +-
 .../22_locale/time_get/get_year/wchar_t/3.cc  |  2 +-
 .../22_locale/time_put/put/char/1.cc          |  2 +-
 .../22_locale/time_put/put/char/10.cc         |  2 +-
 .../22_locale/time_put/put/char/17038.cc      |  2 +-
 .../22_locale/time_put/put/char/2.cc          |  2 +-
 .../22_locale/time_put/put/char/3.cc          |  2 +-
 .../22_locale/time_put/put/char/4.cc          |  2 +-
 .../22_locale/time_put/put/char/5.cc          |  2 +-
 .../22_locale/time_put/put/char/6.cc          |  2 +-
 .../22_locale/time_put/put/char/7.cc          |  2 +-
 .../22_locale/time_put/put/char/8.cc          |  2 +-
 .../22_locale/time_put/put/char/9.cc          |  2 +-
 .../22_locale/time_put/put/wchar_t/1.cc       |  2 +-
 .../22_locale/time_put/put/wchar_t/10.cc      |  2 +-
 .../22_locale/time_put/put/wchar_t/17038.cc   |  2 +-
 .../22_locale/time_put/put/wchar_t/2.cc       |  2 +-
 .../22_locale/time_put/put/wchar_t/3.cc       |  2 +-
 .../22_locale/time_put/put/wchar_t/4.cc       |  2 +-
 .../22_locale/time_put/put/wchar_t/5.cc       |  2 +-
 .../22_locale/time_put/put/wchar_t/6.cc       |  2 +-
 .../22_locale/time_put/put/wchar_t/7.cc       |  2 +-
 .../22_locale/time_put/put/wchar_t/8.cc       |  2 +-
 .../22_locale/time_put/put/wchar_t/9.cc       |  2 +-
 libstdc++-v3/testsuite/testsuite_hooks.cc     | 27 ++++-----
 libstdc++-v3/testsuite/testsuite_hooks.h      |  3 +-
 55 files changed, 127 insertions(+), 71 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 8f18f5cc1bdf..ffb3edb1567a 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,63 @@
+2006-01-05  Paolo Carlini  <pcarlini@suse.de>
+	
+	* testsuite/testsuite_hooks.h (test_tm(unsigned)): Change to
+	take all the tm members.
+	* testsuite/testsuite_hooks.cc (test_tm): Adjust.
+	* testsuite/22_locale/time_put/put/wchar_t/10.cc: Update.
+	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
+	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
+	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
+	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
+	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
+	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
+	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
+	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
+	* testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
+	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/10.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/1.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/9.cc: Likewise.
+	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
+	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
+	* testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
+	* testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
+	* testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
+	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
+	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
+	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
+ 	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
+	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
+	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
+	* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
+	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
+	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
+	* testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
+	* testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
+	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
+	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
+	* testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
+	* testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
+	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
+	* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
+	* testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
+	* testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
+
 2006-01-05  Paolo Carlini  <pcarlini@suse.de>
 	
 	* testsuite/testsuite_hooks.h (test_tm(unsigned)): New.
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
index f1d69fc998a1..469133f8162c 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_date(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
index 91306d7273e4..a51f5c5f3ffa 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
@@ -47,8 +47,8 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday01 = __gnu_test::test_tm(2);
-  const tm time_bday02 = __gnu_test::test_tm(3);
+  const tm time_bday01 = __gnu_test::test_tm(0, 0, 12, 2, 9, 103, 4, 274, -1);
+  const tm time_bday02 = __gnu_test::test_tm(0, 0, 12, 26, 9, 103, 0, 298, -1);
 
   // inspection of named locales, is_IS
   iss.imbue(loc_is);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
index 2fea15c1ac19..8c5a876bf9cc 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
@@ -52,7 +52,7 @@ void test02()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_date(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
index 2fbe75648e99..92762e107751 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   tm tm1;
 
   istringstream iss; 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
index cfe003abcac8..aead697120c9 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
@@ -48,7 +48,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_date(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
index ad8c6ef2be7f..40f1b5edc6fd 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
@@ -47,8 +47,8 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday01 = __gnu_test::test_tm(2);
-  const tm time_bday02 = __gnu_test::test_tm(3);
+  const tm time_bday01 = __gnu_test::test_tm(0, 0, 12, 2, 9, 103, 4, 274, -1);
+  const tm time_bday02 = __gnu_test::test_tm(0, 0, 12, 26, 9, 103, 0, 298, -1);
 
   // inspection of named locales, is_IS
   iss.imbue(loc_is);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
index 87cb1d8fff51..3060063babe4 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
@@ -52,7 +52,7 @@ void test02()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_date(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
index 2b389268c094..759b7fd42e6f 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   tm tm1;
 
   istringstream iss; 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
index 9ac63d2ae1cf..b5d5d869e541 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
@@ -38,7 +38,7 @@ void test01()
   locale loc_c = locale::classic();
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_monthname(iter_type, iter_type, ios_base&, 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
index f9240e7b3a42..b29106297d40 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
@@ -40,7 +40,7 @@ void test02()
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   const string empty;
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
index 0cb1d03024cc..17a9516f063a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
@@ -38,7 +38,7 @@ void test01()
   locale loc_c = locale::classic();
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_monthname(iter_type, iter_type, ios_base&, 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
index 3fc422e18d2d..fe5255530e31 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
@@ -40,7 +40,7 @@ void test02()
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   const wstring empty;
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
index 8b55d0c6db47..e4c586ef72b1 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
@@ -50,7 +50,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // 2
   // iter_type 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
index ed0ea7acfd05..2b71a6ebb502 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
@@ -39,7 +39,7 @@ void test02()
   VERIFY( loc_hk != loc_c );
 
   const string empty;
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // create an ostream-derived object, cache the time_get facet
   iterator_type end;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
index ed6abcb9bce2..3356adef3c70 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   tm tm1;
 
   istringstream iss; 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
index 8f43573c2bb1..ff300bbbf9ed 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
@@ -46,7 +46,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(4);
+  const tm time_bday = __gnu_test::test_tm(60, 0, 12, 4, 3, 71, 0, 93, 0);
 
   iss.str("12:00:60 ");
   iterator_type is_it01(iss);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
index 547b485202dd..415d3fd1dc28 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
@@ -50,7 +50,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // 2
   // iter_type 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
index cde519345714..1b3de6f496ce 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
@@ -39,7 +39,7 @@ void test02()
   VERIFY( loc_hk != loc_c );
 
   const wstring empty;
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // create an ostream-derived object, cache the time_get facet
   iterator_type end;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
index bef64c4d340f..72892c608629 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   tm tm1;
 
   wistringstream iss; 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
index 9ce9d805d228..ba9e9bdf6f44 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
@@ -46,7 +46,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(4);
+  const tm time_bday = __gnu_test::test_tm(60, 0, 12, 4, 3, 71, 0, 93, 0);
 
   iss.str(L"12:00:60 ");
   iterator_type is_it01(iss);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
index 2841f1a6c9a3..1c214bf1cdb4 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_weekday(iter_type, iter_type, ios_base&, 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
index 91d51a59b64d..08b06efec349 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
@@ -52,7 +52,7 @@ void test02()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // inspection of named locales, de_DE
   iss.imbue(loc_de);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
index cc76964395c3..46f01842547a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   tm tm1;
 
   istringstream iss; 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
index 85248531e736..27b6cff54e9d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_weekday(iter_type, iter_type, ios_base&, 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
index 1f7ae8bc5bde..e3547972c81a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
@@ -52,7 +52,7 @@ void test02()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // inspection of named locales, de_DE
   iss.imbue(loc_de);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
index 2f253f606fd7..44393344500f 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   tm tm1;
 
   wistringstream iss; 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
index 4db4332bd81c..782984cf50f5 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_year(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
index 63b694df9fa5..6a646b1a7a04 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   tm tm1;
 
   istringstream iss; 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
index 143e7e2ae58e..0bf843d4dfa1 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
    // create "C" time objects
-  const tm time_bday = __gnu_test::test_tm(0);
+  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // iter_type 
   // get_year(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
index 7be8f173fcce..fdfa472ffeb7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   tm tm1;
 
   istringstream iss; 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
index 3edc4f9ca8e6..ee06172656d5 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
@@ -32,7 +32,7 @@ void test01()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
index ad20ffca66f9..c7e2abe75ce9 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
@@ -40,7 +40,7 @@ void test10()
   const locale loc_c = locale::classic();
   const string x(50, 'x'); // have to have allocated string!
   string res;
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
 
   ostringstream oss; 
   oss.imbue(locale(loc_c, new time_put_type));
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
index f218cc1924f3..aa456fc44582 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
@@ -35,7 +35,7 @@ void test01()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
index 487534dc135a..121ad787bb34 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
@@ -34,7 +34,7 @@ void test02()
   bool test __attribute__((unused)) = true;
 
   // create "C" time object
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
index 72c8abce642b..acae5c1eb653 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
@@ -34,7 +34,7 @@ void test03()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction and sanity check.
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
index f75fdbc7b3e7..33018395283c 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
@@ -34,7 +34,7 @@ void test04()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
index adaf2172764c..e7a93f07df67 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
@@ -33,7 +33,7 @@ void test05()
   bool test __attribute__((unused)) = true;
 
    // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
   const char* date = "%A, the second of %B";
   const char* date_ex = "%Ex";
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
index cc3ac67f5191..0bb9a2d28db6 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
@@ -35,7 +35,7 @@ void test06()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
   const char* date = "%A, the second of %B";
   const char* date_ex = "%Ex";
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
index 7fd94725e328..7753fe947bc9 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
@@ -35,7 +35,7 @@ void test07()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
   const char* date = "%A, the second of %B";
   const char* date_ex = "%Ex";
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
index a5507cb27fc1..3a1d9914277a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
@@ -35,7 +35,7 @@ void test08()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
   const char* date = "%A, the second of %B";
   const char* date_ex = "%Ex";
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
index d222bafa72e0..86c509c247c7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
@@ -40,7 +40,7 @@ void test09()
   const locale loc_c = locale::classic();
   const string x(50, 'x'); // have to have allocated string!
   string res;
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   const char* date = "%X, %A, the second of %B, %Y";
 
   ostringstream oss; 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
index 1637d3fbb6d6..9dd77260a61e 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
@@ -32,7 +32,7 @@ void test01()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
index 4e793e8d582d..f1c91b171e7e 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
@@ -40,7 +40,7 @@ void test10()
   const locale loc_c = locale::classic();
   const wstring x(50, 'x'); // have to have allocated wstring!
   wstring res;
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
 
   wostringstream oss; 
   oss.imbue(locale(loc_c, new time_put_type));
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
index c0a8ec07f0f9..e245f48e2cef 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
@@ -35,7 +35,7 @@ void test01()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
index feb5ae47dcbd..672248c07ffe 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
@@ -34,7 +34,7 @@ void test02()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
index 4908431d1059..8f8659dcbbc6 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
@@ -34,7 +34,7 @@ void test03()
   bool test __attribute__((unused)) = true;
 
    // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
index 6c074f38d185..a3b469d67ce8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
@@ -34,7 +34,7 @@ void test04()
   bool test __attribute__((unused)) = true;
   
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
index eef787ce2e39..4d30717cc864 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
@@ -33,7 +33,7 @@ void test05()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
   const wchar_t* date = L"%A, the second of %B";
   const wchar_t* date_ex = L"%Ex";
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
index d527399d65d2..28f3d9ab74f1 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
@@ -35,7 +35,7 @@ void test06()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
   const wchar_t* date = L"%A, the second of %B";
   const wchar_t* date_ex = L"%Ex";
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
index 299a20aa445b..aecd6d93dca3 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
@@ -35,7 +35,7 @@ void test07()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
   const wchar_t* date = L"%A, the second of %B";
   const wchar_t* date_ex = L"%Ex";
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
index 5573a896000d..c3f123e4f6eb 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
@@ -35,7 +35,7 @@ void test08()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  const tm time1 = __gnu_test::test_tm(0);
+  const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
   const wchar_t* date = L"%A, the second of %B";
   const wchar_t* date_ex = L"%Ex";
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
index 951659ab1f6f..3a3e01c633b1 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
@@ -40,7 +40,7 @@ void test09()
   const locale loc_c = locale::classic();
   const wstring x(50, L'x'); // have to have allocated wstring!
   wstring res;
-  const tm time_sanity = __gnu_test::test_tm(1);
+  const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
   const wchar_t* date = L"%X, %A, the second of %B, %Y";
 
   wostringstream oss; 
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.cc b/libstdc++-v3/testsuite/testsuite_hooks.cc
index 5555b60d1b6b..40189fbf5d4b 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.cc
+++ b/libstdc++-v3/testsuite/testsuite_hooks.cc
@@ -305,24 +305,19 @@ namespace __gnu_test
 
   // For use in 22_locale/time_get and time_put.
   tm
-  test_tm(unsigned index)
+  test_tm(int sec, int min, int hour, int mday, int mon,
+	  int year, int wday, int yday, int isdst)
   {
-    const int data[5][9] = { { 0, 0, 12, 4, 3, 71, 0, 93, 0 },
-			     { 0, 0, 12, 26, 5, 97, 2, 0, 0 },
-			     { 0, 0, 12, 2, 9, 103, 4, 274, -1 },
-			     { 0, 0, 12, 26, 9, 103, 0, 298, -1 },
-			     { 60, 0, 12, 4, 3, 71, 0, 93, 0 } };
-
     static tm tmp;
-    tmp.tm_sec = data[index][0];
-    tmp.tm_min = data[index][1];
-    tmp.tm_hour = data[index][2];
-    tmp.tm_mday = data[index][3];
-    tmp.tm_mon = data[index][4];
-    tmp.tm_year = data[index][5];
-    tmp.tm_wday = data[index][6];
-    tmp.tm_yday = data[index][7];
-    tmp.tm_isdst = data[index][8];
+    tmp.tm_sec = sec;
+    tmp.tm_min = min;
+    tmp.tm_hour = hour;
+    tmp.tm_mday = mday;
+    tmp.tm_mon = mon;
+    tmp.tm_year = year;
+    tmp.tm_wday = wday;
+    tmp.tm_yday = yday;
+    tmp.tm_isdst = isdst;
     return tmp;
   }
 }; // namespace __gnu_test
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.h b/libstdc++-v3/testsuite/testsuite_hooks.h
index a5b0063c73fd..b6c675b12e76 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.h
+++ b/libstdc++-v3/testsuite/testsuite_hooks.h
@@ -387,7 +387,8 @@ namespace __gnu_test
   };
 
   // For use in 22_locale/time_get and time_put.
-  tm test_tm(unsigned);
+  tm test_tm(int sec, int min, int hour, int mday, int mon,
+	     int year, int wday, int yday, int isdst);
 
 } // namespace __gnu_test
 
-- 
GitLab