This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: profile mode fix


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 <fdumont@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.
 //


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]