[PATCH] Fix failure when -fno-rtti test is run in C++17 or later

Jonathan Wakely jwakely@redhat.com
Thu Aug 23 19:27:00 GMT 2018


	* testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource):
	Only define when RTTI is enabled.

Tested x86_64-linux, committed to trunk.


-------------- next part --------------
commit b79c14098cd52633b680c7186f472028fec64f04
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Aug 23 20:25:36 2018 +0100

    Fix failure when -fno-rtti test is run in C++17 or later
    
            * testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource):
            Only define when RTTI is enabled.

diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h b/libstdc++-v3/testsuite/util/testsuite_allocator.h
index 03679aad8dc..b0fecfb59a3 100644
--- a/libstdc++-v3/testsuite/util/testsuite_allocator.h
+++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h
@@ -697,7 +697,8 @@ namespace __gnu_test
     };
 #endif // C++11
 
-#if __cplusplus >= 201703L && __cpp_aligned_new
+#if __cplusplus >= 201703L
+#if __cpp_aligned_new && __cpp_rtti
     // A concrete memory_resource, with error checking.
     class memory_resource : public std::pmr::memory_resource
     {
@@ -835,6 +836,7 @@ namespace __gnu_test
 
       allocation_lists* lists;
     };
+#endif // aligned-new && rtti
 
     // Set the default resource, and restore the previous one on destruction.
     struct default_resource_mgr
@@ -849,7 +851,7 @@ namespace __gnu_test
       std::pmr::memory_resource* prev;
     };
 
-#endif // C++17 && aligned-new
+#endif // C++17
 
 } // namespace __gnu_test
 


More information about the Gcc-patches mailing list