From 27b4d95a00d074a93da695dccc2e9d0cc6181f72 Mon Sep 17 00:00:00 2001
From: Paolo Carlini <pcarlini@unitus.it>
Date: Mon, 13 May 2002 12:58:14 +0200
Subject: [PATCH] 2002-05-13  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/22_locale/codecvt_members_char_char.cc
	(test03): Robustify wrt localedata.
	* testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Likewise.
	* testsuite/22_locale/collate_members_char.cc (test04): Likewise.
	* testsuite/22_locale/collate_members_wchar_t.cc (test04): Likewise.
	* testsuite/22_locale/ctype_members_char.cc (test05): Likewise.
	* testsuite/22_locale/ctype_members_wchar_t.cc (test04): Likewise.
	* testsuite/22_locale/messages_members_char.cc (test03): Likewise.
	* testsuite/22_locale/money_get_members_char.cc (test08): Likewise.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test08): Likewise.
	* testsuite/22_locale/money_put_members_char.cc (test07): Likewise.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test07): Likewise.
	* testsuite/22_locale/moneypunct_members_char.cc (test03): Likewise.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Likewise.
	* testsuite/22_locale/num_get_members_char.cc (test06): Likewise.
	* testsuite/22_locale/num_get_members_wchar_t.cc (test06): Likewise.
	* testsuite/22_locale/num_put_members_char.cc (test04): Add comment.
	* testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise.
	* testsuite/22_locale/numpunct_members_char.cc (test03): Likewise.
	* testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Likewise.
	* testsuite/22_locale/time_get_members_char.cc (test08): Likewise.
	* testsuite/22_locale/time_get_members_wchar_t.cc (test08): Likewise.
	* testsuite/22_locale/time_put_members_char.cc (test04): Likewise.
	* testsuite/22_locale/time_put_members_wchar_t.cc (test04): Likewise.

From-SVN: r53419
---
 libstdc++-v3/ChangeLog                        | 27 +++++++++++++++++++
 .../22_locale/codecvt_members_char_char.cc    | 12 ++++++---
 .../22_locale/codecvt_members_wchar_t_char.cc | 12 ++++++---
 .../22_locale/collate_members_char.cc         | 14 ++++++----
 .../22_locale/collate_members_wchar_t.cc      | 14 ++++++----
 .../testsuite/22_locale/ctype_members_char.cc | 16 ++++++-----
 .../22_locale/ctype_members_wchar_t.cc        | 12 ++++++---
 .../22_locale/messages_members_char.cc        | 12 ++++++---
 .../22_locale/money_get_members_char.cc       | 22 ++++++++-------
 .../22_locale/money_get_members_wchar_t.cc    | 22 ++++++++-------
 .../22_locale/money_put_members_char.cc       | 20 ++++++++------
 .../22_locale/money_put_members_wchar_t.cc    | 20 ++++++++------
 .../22_locale/moneypunct_members_char.cc      | 12 ++++++---
 .../22_locale/moneypunct_members_wchar_t.cc   | 12 ++++++---
 .../22_locale/num_get_members_char.cc         | 18 ++++++++-----
 .../22_locale/num_get_members_wchar_t.cc      | 18 ++++++++-----
 .../22_locale/num_put_members_char.cc         | 14 ++++++----
 .../22_locale/num_put_members_wchar_t.cc      | 14 ++++++----
 .../22_locale/numpunct_members_char.cc        | 12 ++++++---
 .../22_locale/numpunct_members_wchar_t.cc     | 12 ++++++---
 .../22_locale/time_get_members_char.cc        | 22 ++++++++-------
 .../22_locale/time_get_members_wchar_t.cc     | 22 ++++++++-------
 .../22_locale/time_put_members_char.cc        | 14 ++++++----
 .../22_locale/time_put_members_wchar_t.cc     | 14 ++++++----
 24 files changed, 253 insertions(+), 134 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 6f09d63878f6..c8ff8db2c6d6 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,30 @@
+2002-05-13  Paolo Carlini  <pcarlini@unitus.it>
+
+	* testsuite/22_locale/codecvt_members_char_char.cc
+        (test03): Robustify wrt localedata.
+	* testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Likewise.
+	* testsuite/22_locale/collate_members_char.cc (test04): Likewise.
+	* testsuite/22_locale/collate_members_wchar_t.cc (test04): Likewise.
+	* testsuite/22_locale/ctype_members_char.cc (test05): Likewise.
+	* testsuite/22_locale/ctype_members_wchar_t.cc (test04): Likewise.
+	* testsuite/22_locale/messages_members_char.cc (test03): Likewise.
+	* testsuite/22_locale/money_get_members_char.cc (test08): Likewise.
+	* testsuite/22_locale/money_get_members_wchar_t.cc (test08): Likewise.
+	* testsuite/22_locale/money_put_members_char.cc (test07): Likewise.
+	* testsuite/22_locale/money_put_members_wchar_t.cc (test07): Likewise.
+	* testsuite/22_locale/moneypunct_members_char.cc (test03): Likewise.
+	* testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Likewise.
+	* testsuite/22_locale/num_get_members_char.cc (test06): Likewise.
+	* testsuite/22_locale/num_get_members_wchar_t.cc (test06): Likewise.
+	* testsuite/22_locale/num_put_members_char.cc (test04): Add comment.
+	* testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise.
+	* testsuite/22_locale/numpunct_members_char.cc (test03): Likewise.
+	* testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Likewise.
+	* testsuite/22_locale/time_get_members_char.cc (test08): Likewise.
+	* testsuite/22_locale/time_get_members_wchar_t.cc (test08): Likewise.
+	* testsuite/22_locale/time_put_members_char.cc (test04): Likewise.
+	* testsuite/22_locale/time_put_members_wchar_t.cc (test04): Likewise.
+
 2002-05-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 	* config/os/irix/irix5.2/bits/os_defines.h: Revert 2002-05-06
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc b/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc
index 397c489c8d93..38764d43795f 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc
@@ -102,10 +102,14 @@ void test03()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main ()
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_members_wchar_t_char.cc b/libstdc++-v3/testsuite/22_locale/codecvt_members_wchar_t_char.cc
index 4041c2e722d1..3d82fc5e4e92 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt_members_wchar_t_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt_members_wchar_t_char.cc
@@ -134,10 +134,14 @@ void test03()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif /* !defined(_GLIBCPP_USE_WCHAR_T) */
 
diff --git a/libstdc++-v3/testsuite/22_locale/collate_members_char.cc b/libstdc++-v3/testsuite/22_locale/collate_members_char.cc
index 7ec42c685c7e..0a2b29b6ebf2 100644
--- a/libstdc++-v3/testsuite/22_locale/collate_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate_members_char.cc
@@ -166,11 +166,15 @@ void test04()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test03();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test03();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc
index 496dffe64908..b120397a6494 100644
--- a/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc
@@ -166,11 +166,15 @@ void test04()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test03();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test03();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif
 
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_members_char.cc b/libstdc++-v3/testsuite/22_locale/ctype_members_char.cc
index da0786fc6b54..b61dabf56e35 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_members_char.cc
@@ -285,12 +285,16 @@ void test05()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  test03();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      test03();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main() 
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/ctype_members_wchar_t.cc
index f4db4f12f7dd..405cddc4eb3b 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_members_wchar_t.cc
@@ -120,10 +120,14 @@ void test04()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif /* !defined(_GLIBCPP_USE_WCHAR_T) */
 
diff --git a/libstdc++-v3/testsuite/22_locale/messages_members_char.cc b/libstdc++-v3/testsuite/22_locale/messages_members_char.cc
index 81004b9473a5..eeb6ef30679f 100644
--- a/libstdc++-v3/testsuite/22_locale/messages_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages_members_char.cc
@@ -104,10 +104,14 @@ void test03()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/money_get_members_char.cc b/libstdc++-v3/testsuite/22_locale/money_get_members_char.cc
index 2dec7ef60d72..4bc3e45c127d 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get_members_char.cc
@@ -551,15 +551,19 @@ void test08()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  test03();
-  test05();
-  test06();
-  test07();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      test03();
+      test05();
+      test06();
+      test07();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/money_get_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/money_get_members_wchar_t.cc
index 8809d58d0c3f..3d2371993a06 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get_members_wchar_t.cc
@@ -552,15 +552,19 @@ void test08()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  test03();
-  test05();
-  test06();
-  test07();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      test03();
+      test05();
+      test06();
+      test07();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif
 
diff --git a/libstdc++-v3/testsuite/22_locale/money_put_members_char.cc b/libstdc++-v3/testsuite/22_locale/money_put_members_char.cc
index 02558becf0ff..573893545a7e 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put_members_char.cc
@@ -373,14 +373,18 @@ void test07()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  test03();
-  test05();
-  test06();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      test03();
+      test05();
+      test06();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/money_put_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/money_put_members_wchar_t.cc
index 63880a2ae7a5..9143fb6f9ad7 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put_members_wchar_t.cc
@@ -373,14 +373,18 @@ void test07()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  test03();
-  test05();
-  test06();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      test03();
+      test05();
+      test06();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif
 
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_members_char.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_members_char.cc
index 930b4f5192e4..5beb5ee9fb07 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct_members_char.cc
@@ -128,10 +128,14 @@ void test03()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_members_wchar_t.cc
index 752a0e924090..c79e170de408 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct_members_wchar_t.cc
@@ -129,10 +129,14 @@ void test03()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif
 
diff --git a/libstdc++-v3/testsuite/22_locale/num_get_members_char.cc b/libstdc++-v3/testsuite/22_locale/num_get_members_char.cc
index c852f33f1204..b65e1013fc4c 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get_members_char.cc
@@ -418,13 +418,17 @@ void test06()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  test04();
-  test05();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      test04();
+      test05();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/num_get_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/num_get_members_wchar_t.cc
index 6a59d9d6cba1..5585c4389ae8 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get_members_wchar_t.cc
@@ -420,13 +420,17 @@ void test06()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  test04();
-  test05();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      test04();
+      test05();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif
 
diff --git a/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc b/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc
index 185cc9ded244..7966fb51c11a 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc
@@ -315,11 +315,15 @@ void test04()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc
index 8479b1bb590a..86a7b25e0caf 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc
@@ -315,11 +315,15 @@ void test04()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif
 
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc b/libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc
index 13bda1fa4fff..df1835707f64 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc
@@ -106,10 +106,14 @@ void test03()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc
index 39025b16d2b9..8b98ff90f8a5 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc
@@ -104,10 +104,14 @@ void test03()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_get_members_char.cc b/libstdc++-v3/testsuite/22_locale/time_get_members_char.cc
index e0aaeec262a6..74b358bd2949 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get_members_char.cc
@@ -704,15 +704,19 @@ void test08()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  test03();
-  test04();
-  test05();
-  test06();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      test03();
+      test04();
+      test05();
+      test06();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc
index d4f0632e3eb3..d8c568d29c44 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc
@@ -704,15 +704,19 @@ void test08()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  test03();
-  test04();
-  test05();
-  test06();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      test03();
+      test04();
+      test05();
+      test06();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif
 
diff --git a/libstdc++-v3/testsuite/22_locale/time_put_members_char.cc b/libstdc++-v3/testsuite/22_locale/time_put_members_char.cc
index 6f17df5dbf9b..09a4d4f500dc 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put_members_char.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put_members_char.cc
@@ -255,11 +255,15 @@ void test04()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 
 int main()
diff --git a/libstdc++-v3/testsuite/22_locale/time_put_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/time_put_members_wchar_t.cc
index 251d1749670d..fa576be970ac 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put_members_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put_members_wchar_t.cc
@@ -257,11 +257,15 @@ void test04()
 {
   bool test = true;
 
-  std::string loc1 = setlocale(LC_ALL, "ja_JP.eucjp");
-  test01();
-  test02();
-  std::string loc2 = setlocale(LC_ALL, NULL);
-  VERIFY( loc1 == loc2 );
+  const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp");
+  if (tentLANG != NULL)
+    {
+      std::string preLANG = tentLANG;
+      test01();
+      test02();
+      std::string postLANG = setlocale(LC_ALL, NULL);
+      VERIFY( preLANG == postLANG );
+    }
 }
 #endif
 
-- 
GitLab