12658_thread.cc: Move/rename to 12658_thread-1.cc and xfail.
authorPaolo Carlini <pcarlini@suse.de>
Tue, 13 Jul 2004 09:08:21 +0000 (09:08 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 13 Jul 2004 09:08:21 +0000 (09:08 +0000)
2004-07-13  Paolo Carlini  <pcarlini@suse.de>

* testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
to 12658_thread-1.cc and xfail.
* testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
simpler version of 12658_thread-1.cc, still failing on 3_3 and
not failing on 3_4/mainline - both on single processor and
multiprocessor machines.

From-SVN: r84610

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread.cc [deleted file]

index 6623438b8340987cfd07c741be5da621b5cc0402..bd21f89976c1c74a76b78c7a5152a2d34c9a267d 100644 (file)
@@ -1,3 +1,12 @@
+2004-07-13  Paolo Carlini  <pcarlini@suse.de>
+
+       * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
+       to 12658_thread-1.cc and xfail.
+       * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
+       simpler version of 12658_thread-1.cc, still failing on 3_3 and
+       not failing on 3_4/mainline - both on single processor and
+       multiprocessor machines.
+
 2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
 
        * docs/html/abi.html: Remove non-public qualification.
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc
new file mode 100644 (file)
index 0000000..8c39b50
--- /dev/null
@@ -0,0 +1,69 @@
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
+// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* } }
+// { dg-options "-pthreads" { target *-*-solaris* } }
+
+// Copyright (C) 2004 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
+
+// { dg-do run { xfail *-*-* } }
+
+#include <locale>
+#include <pthread.h>
+const int max_thread_count = 20;
+//const int max_loop_count = 1000000; // orig value
+const int max_loop_count = 100000;
+const int max_locales = 10;
+void* thread_main(void*)
+{
+  try
+    {
+      std::locale loc_c = std::locale::classic();
+      std::locale loc[max_locales];
+      for (int j = 0; j < max_locales; ++j)
+       loc[j] = std::locale(j % 2 ? "en_US" : "fr_FR");
+      
+      for (int i = 0; i < max_loop_count; ++i)
+       {
+         int k = i % max_locales;
+         loc[k] = std::locale::global(loc[k]);
+         
+         if (i % 37 == 0)
+           loc[k] = loc[k].combine<std::ctype<char> >(loc_c);
+       }
+    }
+  catch (...) { }
+  return 0;
+}
+int
+main()
+{
+  pthread_t tid[max_thread_count];
+  
+  for (int i = 0; i < max_thread_count; i++)
+    pthread_create (&tid[i], NULL, thread_main, 0);
+  
+  for (int i = 0; i < max_thread_count; i++)
+    pthread_join (tid[i], NULL);
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc
new file mode 100644 (file)
index 0000000..064a9b9
--- /dev/null
@@ -0,0 +1,63 @@
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
+// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* } }
+// { dg-options "-pthreads" { target *-*-solaris* } }
+
+// Copyright (C) 2004 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
+
+#include <locale>
+#include <pthread.h>
+const int max_thread_count = 20;
+//const int max_loop_count = 1000000; // orig value
+const int max_loop_count = 100000;
+const int max_locales = 10;
+std::locale loc[max_locales];
+
+void* thread_main(void*)
+{
+  try
+    {
+      for (int i = 0; i < max_loop_count; ++i)
+       {
+         int k = i % max_locales;
+         std::locale::global(loc[k]);
+       }
+    }
+  catch (...) { }
+  return 0;
+}
+int
+main()
+{
+  pthread_t tid[max_thread_count];
+  
+  for (int j = 0; j < max_locales; ++j)
+    loc[j] = std::locale(j % 2 ? "en_US" : "fr_FR");  
+
+  for (int i = 0; i < max_thread_count; i++)
+    pthread_create(&tid[i], NULL, thread_main, 0);
+  
+  for (int i = 0; i < max_thread_count; i++)
+    pthread_join(tid[i], NULL);
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread.cc
deleted file mode 100644 (file)
index 3a89d37..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* } }
-// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* } }
-// { dg-options "-pthreads" { target *-*-solaris* } }
-
-// Copyright (C) 2004 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 22.1.1.2 locale constructors and destructors [lib.locale.cons]
-
-#include <locale>
-#include <pthread.h>
-const int max_thread_count = 20;
-//const int max_loop_count = 1000000; // orig value
-const int max_loop_count = 100000;
-const int max_locales = 10;
-void* thread_main(void*)
-{
-  try
-    {
-      std::locale loc_c = std::locale::classic();
-      std::locale loc[max_locales];
-      for (int j = 0; j < max_locales; ++j)
-       loc[j] = std::locale(j % 2 ? "en_US" : "fr_FR");
-      
-      for (int i = 0; i < max_loop_count; ++i)
-       {
-         int k = i % max_locales;
-         loc[k] = std::locale::global(loc[k]);
-         
-         if (i % 37 == 0)
-           loc[k] = loc[k].combine<std::ctype<char> >(loc_c);
-       }
-    }
-  catch (...) { }
-  return 0;
-}
-int
-main()
-{
-  pthread_t tid[max_thread_count];
-  
-  for (int i = 0; i < max_thread_count; i++)
-    pthread_create (&tid[i], NULL, thread_main, 0);
-  
-  for (int i = 0; i < max_thread_count; i++)
-    pthread_join (tid[i], NULL);
-
-  return 0;
-}