diff mbox

Mark test as XFAIL for C++17 mode

Message ID 20170113130139.GA30477@redhat.com
State New
Headers show

Commit Message

Jonathan Wakely Jan. 13, 2017, 1:01 p.m. UTC
This test fails to compile in C++17 mode because the explicit
instantiation using a custom allocator runs into the fact that the new
node extraction/reinsertion functions for C++17 don't support fancy
pointers (yet).

Adding dg-xfail-if avoids the FAIL in C++17 mode, and changing it from
a run test to compile test means we don't get an UNRESOVLED when the
compilation fails. Running this test isn't especially important, it's
really just checking that everything compiles using fancy pointers.

	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
	XFAIL for C++17 until node reinsertion supports fancy pointers.

Tested x86_64-linux, committed to trunk.
commit 6527a0847bf24f9174fe0dec2160c3813cb64a14
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Jan 13 12:20:48 2017 +0000

    Mark test as XFAIL for C++17 mode
    
    	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
    	XFAIL for C++17 until node reinsertion supports fancy pointers.
diff mbox

Patch

diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc
index f59b808..ef38a72 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc
@@ -15,7 +15,7 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-do run { target c++11 } }
+// { dg-do compile { target c++11 } }
 
 #include <unordered_set>
 #include <memory>
@@ -30,6 +30,8 @@  struct E : std::equal_to<T> { };
 
 using __gnu_test::CustomPointerAlloc;
 
+// { dg-xfail-if "node reinsertion assumes raw pointers" { c++1z } }
+// TODO when removing this xfail change the test back to "dg-do run".
 template class std::unordered_set<T, H, E, CustomPointerAlloc<T>>;
 
 void test01()