This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: profile mode fix
- From: FranÃois Dumont <frs dot dumont at gmail dot com>
- To: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- Cc: "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 29 Jan 2014 21:06:47 +0100
- Subject: Re: profile mode fix
- Authentication-results: sourceware.org; auth=none
- References: <52E4D8BC dot 5090701 at gmail dot com> <CAH6eHdQPpktHs6HR8NRCk955U_PmG0xxrBjFNwHaTSTzaWZN-A at mail dot gmail dot com> <52E6DB25 dot 20804 at gmail dot com>
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.
//