2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Jul 2002 06:42:00 +0000 (06:42 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Jul 2002 06:42:00 +0000 (06:42 +0000)
PR libstdc++/7222
* src/locale.cc (locale::locale(const char*)): Use setlocale NULL.
* testsuite/22_locale/ctor_copy_dtor.cc (test02): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55736 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/src/locale.cc
libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc

index ce97baa..f91fa78 100644 (file)
@@ -1,5 +1,11 @@
 2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
 
+       PR libstdc++/7222
+       * src/locale.cc (locale::locale(const char*)): Use setlocale NULL.
+       * testsuite/22_locale/ctor_copy_dtor.cc (test02): New.
+       
+2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
+
        PR libstdc++/7230
        * config/linker-map.gnu: Revert strstream patch from 2002-07-01.
        * include/Makefile.am (backward_headers): Use strstream, not
index 26c2834..3cb9d1b 100644 (file)
@@ -202,7 +202,7 @@ namespace std
        if (strcmp(__s, "C") == 0 || strcmp(__s, "POSIX") == 0)
          (_M_impl = _S_classic)->_M_add_reference();
        else if (strcmp(__s, "") == 0)
-         _M_impl = new _Impl(setlocale(LC_ALL, __s), 1);
+         _M_impl = new _Impl(setlocale(LC_ALL, NULL), 1);
        else
          _M_impl = new _Impl(__s, 1);
       }
index 8735799..732ec17 100644 (file)
@@ -25,7 +25,6 @@
 #include <stdexcept>
 #include <testsuite_hooks.h>
 
-
 void test00()
 {
   // Should be able to do this as the first thing that happens in a
@@ -238,7 +237,21 @@ void test01()
 }
 #endif // _GLIBCPP_USE___ENC_TRAITS
 
-int main ()
+// libstdc++/7222
+void test02()
+{
+  bool test = true;
+  std::locale loc_c1("C");
+  std::locale loc_c2 ("C");
+  
+  std::locale loc_1("");
+  std::locale loc_2("");
+
+  VERIFY( loc_c1 == loc_c2 );
+  VERIFY( loc_1 == loc_2 );
+}
+
+int main()
 {
   test00();
 
@@ -246,5 +259,7 @@ int main ()
   test01();
 #endif 
 
+  test02();
+
   return 0;
 }