Here is the patch that simply consider 55083 as not supported except in normal mode. This is a temporary workaround for 4.9 release so I prefer not to introduce a dg-profile-mode-unsupported or something like that. Those tests will simply appear as not supported for debug and parallel mode even if they are, not a big deal, no ?

Tested under Linux x86_64 normal and profile mode.

2014-01-29  François Dumont <fdum...@gcc.gnu.org>

    PR libstdc++/55083
    * testsuite/23_containers/unordered_multimap/55043.cc: Add
    dg-require-normal-mode because not supported in profile mode.
    * testsuite/23_containers/unordered_set/55043.cc: Likewise.
    * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
    * testsuite/23_containers/unordered_map/55043.cc: Likewise.

Ok to commit ?

François


On 01/27/2014 11:18 PM, François Dumont wrote:
Indeed, default constructor and copy constructor shall not be noexcept qualified.

IMO we should be able to make move constructor noexcept by using a special allocator for the underlying unordered_map that would allow to replace an entry with an other one without requiring a deallocate/allocate. It would be the same kind of allocator keeping a released instance in cache that you already talk about to enhance std::deque behavior especially when used in a std::queue.

For 4.9 we could consider that this test is not supported in profile mode and I will work on it for next version.

François




Index: testsuite/23_containers/unordered_multimap/55043.cc
===================================================================
--- testsuite/23_containers/unordered_multimap/55043.cc	(revision 207207)
+++ testsuite/23_containers/unordered_multimap/55043.cc	(working copy)
@@ -1,5 +1,6 @@
 // { dg-options "-std=gnu++0x" }
 // { dg-do compile }
+// { dg-require-normal-mode "" }
 
 // Copyright (C) 2013-2014 Free Software Foundation, Inc.
 //
Index: testsuite/23_containers/unordered_set/55043.cc
===================================================================
--- testsuite/23_containers/unordered_set/55043.cc	(revision 207207)
+++ testsuite/23_containers/unordered_set/55043.cc	(working copy)
@@ -1,5 +1,6 @@
 // { dg-options "-std=gnu++0x" }
 // { dg-do compile }
+// { dg-require-normal-mode "" }
 
 // Copyright (C) 2013-2014 Free Software Foundation, Inc.
 //
Index: testsuite/23_containers/unordered_multiset/55043.cc
===================================================================
--- testsuite/23_containers/unordered_multiset/55043.cc	(revision 207207)
+++ testsuite/23_containers/unordered_multiset/55043.cc	(working copy)
@@ -1,5 +1,6 @@
 // { dg-options "-std=gnu++0x" }
 // { dg-do compile }
+// { dg-require-normal-mode "" }
 
 // Copyright (C) 2013-2014 Free Software Foundation, Inc.
 //
Index: testsuite/23_containers/unordered_map/55043.cc
===================================================================
--- testsuite/23_containers/unordered_map/55043.cc	(revision 207207)
+++ testsuite/23_containers/unordered_map/55043.cc	(working copy)
@@ -1,5 +1,6 @@
 // { dg-options "-std=gnu++0x" }
 // { dg-do compile }
+// { dg-require-normal-mode "" }
 
 // Copyright (C) 2013-2014 Free Software Foundation, Inc.
 //

Reply via email to