Patchwork [v3] Actually run some tests in parallel-mode for check-parallel

login
register
mail settings
Submitter Paolo Carlini
Date April 11, 2011, 5:49 p.m.
Message ID <4DA33F10.2090605@oracle.com>
Download mbox | patch
Permalink /patch/90629/
State New
Headers show

Comments

Paolo Carlini - April 11, 2011, 5:49 p.m.
Hi,

noticed last week. Enabling the tests is also useful to have a clearer 
picture of which parallel-mode std algorithms need to be fixed vs C++0x.

Tested x86_64-linux check-parallel, committing to mainline.

Paolo.

//////////////////////
2011-04-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/25_algorithms/inplace_merge/moveable.cc: Actually run
	it in parallel-mode for check-parallel.
	* testsuite/25_algorithms/rotate/moveable.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
	* testsuite/25_algorithms/remove/moveable.cc: Likewise.
	* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/unique/moveable.cc: Likewise.
	* testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.

	* testsuite/25_algorithms/next_permutation/moveable.cc: Only skip
	the tests based on std::lexicographical_compare for check-parallel.
	* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.

Patch

Index: testsuite/25_algorithms/inplace_merge/moveable.cc
===================================================================
--- testsuite/25_algorithms/inplace_merge/moveable.cc	(revision 172263)
+++ testsuite/25_algorithms/inplace_merge/moveable.cc	(working copy)
@@ -1,6 +1,6 @@ 
 // { dg-options "-std=gnu++0x" }
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 //
 // 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
@@ -19,10 +19,6 @@ 
 
 // 25.3.4 [lib.alg.merge]
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <algorithm>
 #include <testsuite_hooks.h>
 #include <testsuite_iterators.h>
Index: testsuite/25_algorithms/rotate/moveable.cc
===================================================================
--- testsuite/25_algorithms/rotate/moveable.cc	(revision 172263)
+++ testsuite/25_algorithms/rotate/moveable.cc	(working copy)
@@ -1,6 +1,6 @@ 
 // { dg-options "-std=gnu++0x" }
 
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -24,10 +24,6 @@ 
 
 #undef _GLIBCXX_CONCEPT_CHECKS
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <algorithm>
 #include <testsuite_hooks.h>
 #include <testsuite_iterators.h>
@@ -43,8 +39,6 @@ 
 typedef test_container<rvalstruct, bidirectional_iterator_wrapper> Bcontainer; 
 typedef test_container<rvalstruct, random_access_iterator_wrapper> Rcontainer; 
 
-
-
 void
 test1()
 {
Index: testsuite/25_algorithms/stable_partition/moveable.cc
===================================================================
--- testsuite/25_algorithms/stable_partition/moveable.cc	(revision 172263)
+++ testsuite/25_algorithms/stable_partition/moveable.cc	(working copy)
@@ -1,6 +1,6 @@ 
 // { dg-options "-std=gnu++0x" }
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 //
 // 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
@@ -19,10 +19,6 @@ 
 
 // 25.2.12 [lib.alg.partitions] Partitions.
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <algorithm>
 #include <functional>
 #include <testsuite_hooks.h>
Index: testsuite/25_algorithms/remove/moveable.cc
===================================================================
--- testsuite/25_algorithms/remove/moveable.cc	(revision 172263)
+++ testsuite/25_algorithms/remove/moveable.cc	(working copy)
@@ -1,6 +1,6 @@ 
 // { dg-options "-std=gnu++0x" }
 
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -22,10 +22,6 @@ 
 
 #undef _GLIBCXX_CONCEPT_CHECKS
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <algorithm>
 #include <testsuite_hooks.h>
 #include <testsuite_iterators.h>
Index: testsuite/25_algorithms/sort_heap/check_compare_by_value.cc
===================================================================
--- testsuite/25_algorithms/sort_heap/check_compare_by_value.cc	(revision 172263)
+++ testsuite/25_algorithms/sort_heap/check_compare_by_value.cc	(working copy)
@@ -19,10 +19,6 @@ 
 
 #undef _GLIBCXX_CONCEPT_CHECKS
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <algorithm>
 #include <testsuite_hooks.h>
 #include <testsuite_iterators.h>
Index: testsuite/25_algorithms/next_permutation/moveable.cc
===================================================================
--- testsuite/25_algorithms/next_permutation/moveable.cc	(revision 172263)
+++ testsuite/25_algorithms/next_permutation/moveable.cc	(working copy)
@@ -1,6 +1,6 @@ 
 // { dg-options "-std=gnu++0x" }
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 //
 // 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
@@ -19,10 +19,6 @@ 
 
 // 25.3.9 [lib.alg.permutation.generators]
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <algorithm>
 #include <testsuite_hooks.h>
 #include <testsuite_iterators.h>
@@ -82,8 +78,13 @@ 
       std::copy(array, array + 6, temp_array);
       Container con(temp_array, temp_array + 6);
       VERIFY( next_permutation(array, array + 6) );
+
+// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
+// per C++0x, at minimum smoothly fall back to serial.
+#ifndef _GLIBCXX_PARALLEL
       VERIFY( std::lexicographical_compare(temp_array, temp_array + 6, 
 					   array, array + 6) );
+#endif
     }
   VERIFY( !next_permutation(array,array + 6) );
   for(int i = 0; i < 6; ++i)
@@ -106,8 +107,13 @@ 
       std::copy(array, array + 6, temp_array);
       Container con(temp_array, temp_array + 6);
       VERIFY( next_permutation(array, array + 6, are_ordered) );
+
+// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
+// per C++0x, at minimum smoothly fall back to serial.
+#ifndef _GLIBCXX_PARALLEL
       VERIFY( std::lexicographical_compare(temp_array, temp_array + 6,
 					   array, array + 6, are_ordered) );
+#endif
     }
   VERIFY( !next_permutation(array,array + 6, are_ordered) );
   for(int i = 0; i < 6; ++i)
Index: testsuite/25_algorithms/prev_permutation/moveable.cc
===================================================================
--- testsuite/25_algorithms/prev_permutation/moveable.cc	(revision 172263)
+++ testsuite/25_algorithms/prev_permutation/moveable.cc	(working copy)
@@ -1,6 +1,6 @@ 
 // { dg-options "-std=gnu++0x" }
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 //
 // 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
@@ -19,10 +19,6 @@ 
 
 // 25.3.9 [lib.alg.permutation.generators]
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <algorithm>
 #include <testsuite_hooks.h>
 #include <testsuite_iterators.h>
@@ -82,8 +78,13 @@ 
       std::copy(array, array + 6, temp_array);
       Container con(temp_array, temp_array + 6);
       VERIFY( prev_permutation(array, array + 6) );
+
+// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
+// per C++0x, at minimum smoothly fall back to serial.
+#ifndef _GLIBCXX_PARALLEL
       VERIFY( !std::lexicographical_compare(temp_array, temp_array + 6, 
 					    array, array + 6) );
+#endif
     }
   VERIFY( !prev_permutation(array,array + 6)) ;
   for(int i = 0; i < 6; ++i)
@@ -106,8 +107,13 @@ 
       std::copy(array, array + 6, temp_array);
       Container con(temp_array, temp_array + 6);
       VERIFY( prev_permutation(array, array + 6, are_ordered) );
+
+// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
+// per C++0x, at minimum smoothly fall back to serial.
+#ifndef _GLIBCXX_PARALLEL
       VERIFY( !std::lexicographical_compare(temp_array, temp_array + 6, 
 					    array, array + 6, are_ordered) );
+#endif
     }
   VERIFY( !prev_permutation(array,array + 6, are_ordered) );
   for(int i = 0; i < 6; ++i)
Index: testsuite/25_algorithms/unique/moveable.cc
===================================================================
--- testsuite/25_algorithms/unique/moveable.cc	(revision 172263)
+++ testsuite/25_algorithms/unique/moveable.cc	(working copy)
@@ -1,6 +1,6 @@ 
 // { dg-options "-std=gnu++0x" }
 
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -22,10 +22,6 @@ 
 
 #undef _GLIBCXX_CONCEPT_CHECKS
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <vector>
 #include <algorithm>
 #include <functional>
Index: testsuite/25_algorithms/remove_if/moveable.cc
===================================================================
--- testsuite/25_algorithms/remove_if/moveable.cc	(revision 172263)
+++ testsuite/25_algorithms/remove_if/moveable.cc	(working copy)
@@ -1,6 +1,6 @@ 
 // { dg-options "-std=gnu++0x" }
 
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -22,10 +22,6 @@ 
 
 #undef _GLIBCXX_CONCEPT_CHECKS
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <algorithm>
 #include <testsuite_hooks.h>
 #include <testsuite_iterators.h>
Index: testsuite/25_algorithms/heap/moveable.cc
===================================================================
--- testsuite/25_algorithms/heap/moveable.cc	(revision 172263)
+++ testsuite/25_algorithms/heap/moveable.cc	(working copy)
@@ -1,6 +1,6 @@ 
 // { dg-options "-std=gnu++0x" }
 
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -24,10 +24,6 @@ 
 
 #undef _GLIBCXX_CONCEPT_CHECKS
 
-// XXX FIXME:  parallel-mode should deal correctly with moveable-only types
-// per C++0x, at minimum smoothly fall back to serial.
-#undef _GLIBCXX_PARALLEL
-
 #include <algorithm>
 #include <testsuite_hooks.h>
 #include <testsuite_iterators.h>