The checking memory_resource in the testsuite assumes sized deallocation
is supported, which might not be true for other compilers.

        * testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource)
        [!__cpp_sized_deallocation]: Do not pass size to operator delete.

Tested powerpc64le-linux, committed to trunk.


commit 9cc2b31ce0e23c7bae5f1e065628baec934478c6
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Fri Mar 1 13:33:25 2019 +0000

    Fix test memory_resource to work without sized deallocation
    
    The checking memory_resource in the testsuite assumes sized deallocation
    is supported, which might not be true for other compilers.
    
            * testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource)
            [!__cpp_sized_deallocation]: Do not pass size to operator delete.

diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h 
b/libstdc++-v3/testsuite/util/testsuite_allocator.h
index 044b9d5a90f..627749299d2 100644
--- a/libstdc++-v3/testsuite/util/testsuite_allocator.h
+++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h
@@ -780,7 +780,11 @@ namespace __gnu_test
                  throw bad_size();
                if (alignment != a->alignment)
                  throw bad_alignment();
+#if __cpp_sized_deallocation
                ::operator delete(p, bytes, std::align_val_t(alignment));
+#else
+               ::operator delete(p, std::align_val_t(alignment));
+#endif
                *aptr = a->next;
                a->next = lists->freed;
                lists->freed = a;

Reply via email to