From 18ea8583323ef9af88575c64d8f22a01c4c51dbc Mon Sep 17 00:00:00 2001
From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 6 Jan 2006 00:06:52 +0000
Subject: [PATCH] 2006-01-05  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/testsuite_hooks.h (test_tm(unsigned)): New.
	* testsuite/testsuite_hooks.cc (test_tm(unsigned)): Define.
	* testsuite/22_locale/time_put/put/wchar_t/10.cc: Use it.
	* 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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109390 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libstdc++-v3/ChangeLog                        | 59 +++++++++++++++++++
 .../22_locale/time_get/get_date/char/1.cc     |  4 +-
 .../22_locale/time_get/get_date/char/12750.cc |  6 +-
 .../22_locale/time_get/get_date/char/2.cc     |  4 +-
 .../22_locale/time_get/get_date/char/3.cc     |  4 +-
 .../22_locale/time_get/get_date/wchar_t/1.cc  |  4 +-
 .../time_get/get_date/wchar_t/12750.cc        |  6 +-
 .../22_locale/time_get/get_date/wchar_t/2.cc  |  4 +-
 .../22_locale/time_get/get_date/wchar_t/3.cc  |  4 +-
 .../time_get/get_monthname/char/1.cc          |  4 +-
 .../time_get/get_monthname/char/2.cc          |  4 +-
 .../time_get/get_monthname/wchar_t/1.cc       |  4 +-
 .../time_get/get_monthname/wchar_t/2.cc       |  4 +-
 .../22_locale/time_get/get_time/char/1.cc     |  4 +-
 .../22_locale/time_get/get_time/char/2.cc     |  4 +-
 .../22_locale/time_get/get_time/char/3.cc     |  4 +-
 .../22_locale/time_get/get_time/char/4.cc     |  4 +-
 .../22_locale/time_get/get_time/wchar_t/1.cc  |  4 +-
 .../22_locale/time_get/get_time/wchar_t/2.cc  |  4 +-
 .../22_locale/time_get/get_time/wchar_t/3.cc  |  4 +-
 .../22_locale/time_get/get_time/wchar_t/4.cc  |  4 +-
 .../22_locale/time_get/get_weekday/char/1.cc  |  4 +-
 .../22_locale/time_get/get_weekday/char/2.cc  |  4 +-
 .../22_locale/time_get/get_weekday/char/3.cc  |  4 +-
 .../time_get/get_weekday/wchar_t/1.cc         |  4 +-
 .../time_get/get_weekday/wchar_t/2.cc         |  4 +-
 .../time_get/get_weekday/wchar_t/3.cc         |  4 +-
 .../22_locale/time_get/get_year/char/1.cc     |  4 +-
 .../22_locale/time_get/get_year/char/3.cc     |  4 +-
 .../22_locale/time_get/get_year/wchar_t/1.cc  |  4 +-
 .../22_locale/time_get/get_year/wchar_t/3.cc  |  4 +-
 .../22_locale/time_put/put/char/1.cc          |  4 +-
 .../22_locale/time_put/put/char/10.cc         |  4 +-
 .../22_locale/time_put/put/char/17038.cc      |  4 +-
 .../22_locale/time_put/put/char/2.cc          |  4 +-
 .../22_locale/time_put/put/char/3.cc          |  4 +-
 .../22_locale/time_put/put/char/4.cc          |  4 +-
 .../22_locale/time_put/put/char/5.cc          |  4 +-
 .../22_locale/time_put/put/char/6.cc          |  4 +-
 .../22_locale/time_put/put/char/7.cc          |  4 +-
 .../22_locale/time_put/put/char/8.cc          |  4 +-
 .../22_locale/time_put/put/char/9.cc          |  4 +-
 .../22_locale/time_put/put/wchar_t/1.cc       |  4 +-
 .../22_locale/time_put/put/wchar_t/10.cc      |  4 +-
 .../22_locale/time_put/put/wchar_t/17038.cc   |  4 +-
 .../22_locale/time_put/put/wchar_t/2.cc       |  4 +-
 .../22_locale/time_put/put/wchar_t/3.cc       |  4 +-
 .../22_locale/time_put/put/wchar_t/4.cc       |  4 +-
 .../22_locale/time_put/put/wchar_t/5.cc       |  4 +-
 .../22_locale/time_put/put/wchar_t/6.cc       |  4 +-
 .../22_locale/time_put/put/wchar_t/7.cc       |  4 +-
 .../22_locale/time_put/put/wchar_t/8.cc       |  4 +-
 .../22_locale/time_put/put/wchar_t/9.cc       |  4 +-
 libstdc++-v3/testsuite/testsuite_hooks.cc     | 23 ++++++++
 libstdc++-v3/testsuite/testsuite_hooks.h      |  4 ++
 55 files changed, 192 insertions(+), 106 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 5c7a8060dac7..8f18f5cc1bdf 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,62 @@
+2006-01-05  Paolo Carlini  <pcarlini@suse.de>
+	
+	* testsuite/testsuite_hooks.h (test_tm(unsigned)): New.
+	* testsuite/testsuite_hooks.cc (test_tm(unsigned)): Define.
+	* testsuite/22_locale/time_put/put/wchar_t/10.cc: Use it.
+	* 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-04  Paolo Carlini  <pcarlini@suse.de>
 
 	* include/ext/sso_string_base.h (__sso_string_base<>::_M_dataplus):
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 73f533cf5542..f1d69fc998a1 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 b5e1a244ea2e..91306d7273e4 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
@@ -2,7 +2,7 @@
 
 // 2003-10-27 Paolo Carlini  <pcarlini@suse.de>
 
-// Copyright (C) 2003, 2005 Free Software Foundation
+// Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -47,8 +47,8 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday01 = { 0, 0, 12, 2, 9, 103, 4, 274, -1 };
-  const tm time_bday02 = { 0, 0, 12, 26, 9, 103, 0, 298, -1 };
+  const tm time_bday01 = __gnu_test::test_tm(2);
+  const tm time_bday02 = __gnu_test::test_tm(3);
 
   // 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 c1b8fae91c91..2fea15c1ac19 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -52,7 +52,7 @@ void test02()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 fee8ced15439..2fbe75648e99 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 61b079d4e0a2..cfe003abcac8 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -48,7 +48,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 33014545375c..ad8c6ef2be7f 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
@@ -2,7 +2,7 @@
 
 // 2003-10-27 Paolo Carlini  <pcarlini@suse.de>
 
-// Copyright (C) 2003, 2005 Free Software Foundation
+// Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -47,8 +47,8 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday01 = { 0, 0, 12, 2, 9, 103, 4, 274, -1 };
-  const tm time_bday02 = { 0, 0, 12, 26, 9, 103, 0, 298, -1 };
+  const tm time_bday01 = __gnu_test::test_tm(2);
+  const tm time_bday02 = __gnu_test::test_tm(3);
 
   // 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 a506dafc315f..87cb1d8fff51 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -52,7 +52,7 @@ void test02()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 c4bd129ecce9..2b389268c094 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 678bee3039dd..9ac63d2ae1cf 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test01()
   locale loc_c = locale::classic();
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 727f6a89b06f..f9240e7b3a42 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -40,7 +40,7 @@ void test02()
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 94c2f90a1b83..0cb1d03024cc 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test01()
   locale loc_c = locale::classic();
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 08a93658f376..3fc422e18d2d 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -40,7 +40,7 @@ void test02()
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 9aa45997a862..8b55d0c6db47 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -50,7 +50,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 753913156060..ed0ea7acfd05 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -39,7 +39,7 @@ void test02()
   VERIFY( loc_hk != loc_c );
 
   const string empty;
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 1599278b85bb..ed6abcb9bce2 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 e49a6206524e..8f43573c2bb1 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
@@ -1,6 +1,6 @@
 // 2004-08-29  Paolo Carlini  <pcarlini@suse.de>
 
-// Copyright (C) 2004 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -46,7 +46,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 60, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(4);
 
   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 15e30339d212..547b485202dd 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -50,7 +50,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 498badba949b..cde519345714 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -39,7 +39,7 @@ void test02()
   VERIFY( loc_hk != loc_c );
 
   const wstring empty;
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 e0bb44424194..bef64c4d340f 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 161fb193c3c8..9ce9d805d228 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
@@ -1,6 +1,6 @@
 // 2004-08-29  Paolo Carlini  <pcarlini@suse.de>
 
-// Copyright (C) 2004 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -46,7 +46,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 60, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(4);
 
   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 d4c260766ac0..2841f1a6c9a3 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 23b50d63dcfa..91d51a59b64d 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -52,7 +52,7 @@ void test02()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 24dcc51fb96b..cc76964395c3 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 81e0cbd30227..85248531e736 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 6857abb9799b..1f7ae8bc5bde 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
@@ -2,7 +2,7 @@
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -52,7 +52,7 @@ void test02()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 942c87c8ff03..2f253f606fd7 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 66e44ac5a9cd..4db4332bd81c 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
   // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 11b177f879c8..63b694df9fa5 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 0fff5d58a582..143e7e2ae58e 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
   ios_base::iostate errorstate = good;
 
    // create "C" time objects
-  const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time_bday = __gnu_test::test_tm(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 85fd34d523a3..7be8f173fcce 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
@@ -1,6 +1,6 @@
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
   const locale loc_c = locale::classic();
 
   // Create "C" time objects
-  const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 2d6096c39223..3edc4f9ca8e6 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
@@ -1,6 +1,6 @@
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -32,7 +32,7 @@ void test01()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 9f2223d4caef..ad20ffca66f9 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
@@ -1,6 +1,6 @@
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -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 = { 0, 0, 12, 26, 5, 97, 2 };
+  const tm time_sanity = __gnu_test::test_tm(1);
 
   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 bac3c910374b..f218cc1924f3 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
@@ -2,7 +2,7 @@
 
 // 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
 
-// Copyright (C) 2004, 2005 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test01()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 db91d110a7aa..487534dc135a 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test02()
   bool test __attribute__((unused)) = true;
 
   // create "C" time object
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 3fd23797281a..72c8abce642b 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test03()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 8a2ba8476790..f75fdbc7b3e7 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test04()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 6488b0e3a5d4..adaf2172764c 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
@@ -1,6 +1,6 @@
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -33,7 +33,7 @@ void test05()
   bool test __attribute__((unused)) = true;
 
    // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 ffec0393cba9..cc3ac67f5191 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test06()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 b4c5747c7dc6..7fd94725e328 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test07()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 4699fdbdc2da..a5507cb27fc1 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test08()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 76f711067e1d..d222bafa72e0 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
@@ -1,6 +1,6 @@
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -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 = { 0, 0, 12, 26, 5, 97, 2 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 c4be6be6f6e4..1637d3fbb6d6 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
@@ -1,6 +1,6 @@
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -32,7 +32,7 @@ void test01()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 c68e8ff95514..4e793e8d582d 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
@@ -1,6 +1,6 @@
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -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 = { 0, 0, 12, 26, 5, 97, 2 };
+  const tm time_sanity = __gnu_test::test_tm(1);
 
   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 3f5527cb02ba..c0a8ec07f0f9 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
@@ -2,7 +2,7 @@
 
 // 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
 
-// Copyright (C) 2004, 2005 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test01()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 e98616215ab7..feb5ae47dcbd 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test02()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 83900e14bd3e..4908431d1059 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test03()
   bool test __attribute__((unused)) = true;
 
    // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 bb98ecfe7321..6c074f38d185 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test04()
   bool test __attribute__((unused)) = true;
   
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 e09382c389ea..eef787ce2e39 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
@@ -1,6 +1,6 @@
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -33,7 +33,7 @@ void test05()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 7f13c04e5c22..d527399d65d2 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test06()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 31c7b9688986..299a20aa445b 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test07()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 4e0da84d57a8..5573a896000d 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
@@ -2,7 +2,7 @@
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test08()
   bool test __attribute__((unused)) = true;
 
   // create "C" time objects
-  tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+  const tm time1 = __gnu_test::test_tm(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 a421835e472d..951659ab1f6f 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
@@ -1,6 +1,6 @@
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -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 = { 0, 0, 12, 26, 5, 97, 2 };
+  const tm time_sanity = __gnu_test::test_tm(1);
   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 8d3d5309e270..35117fa000f5 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.cc
+++ b/libstdc++-v3/testsuite/testsuite_hooks.cc
@@ -302,4 +302,27 @@ namespace __gnu_test
       std::__throw_runtime_error("could not wait for semaphore");
 #endif    
   }
+
+  // For use in 22_locale/time_get and time_put.
+  tm
+  test_tm(unsigned index)
+  {
+    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];
+    return tmp;
+  }
 }; // namespace __gnu_test
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.h b/libstdc++-v3/testsuite/testsuite_hooks.h
index 38b80630fc23..ae55f294975c 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.h
+++ b/libstdc++-v3/testsuite/testsuite_hooks.h
@@ -385,6 +385,10 @@ namespace __gnu_test
 
     pid_t pid_;
   };
+
+  // For use in 22_locale/time_get and time_put.
+  tm test_tm(unsigned);
+
 } // namespace __gnu_test
 
 #endif // _GLIBCXX_TESTSUITE_HOOKS_H
-- 
GitLab