libstdc++: Add effective-target for std::allocator implementation
authorJonathan Wakely <jwakely@redhat.com>
Mon, 22 Nov 2021 14:51:16 +0000 (14:51 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 23 Nov 2021 21:23:24 +0000 (21:23 +0000)
commit39de0e541107bc4b0b3b82f613054f59c6821eb5
treede02c6fefee5661c4a151905f93819b03c7d8c6e
parent16e95050f71e9fa408e9bd8ccd415b0e7adc66e5
libstdc++: Add effective-target for std::allocator implementation

This allows tests to be skipped if the std::allocator implementation is
not __gnu_cxx::new_allocator.

The 20_util/allocator/overaligned.cc test requires either C++17 or
new_allocator, otherwise we can't guarantee to return overaligned
memory.

libstdc++-v3/ChangeLog:

* testsuite/18_support/50594.cc: Check effective target.
* testsuite/20_util/allocator/1.cc: Likewise.
* testsuite/20_util/allocator/overaligned.cc: Likewise.
* testsuite/23_containers/unordered_map/96088.cc: Likewise.
* testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
* testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
* testsuite/23_containers/unordered_set/96088.cc: Likewise.
* testsuite/ext/throw_allocator/check_delete.cc: Likewise.
* testsuite/ext/throw_allocator/check_new.cc: Likewise.
* testsuite/lib/libstdc++.exp (check_effective_target_std_allocator_new):
Define new proc.
libstdc++-v3/testsuite/18_support/50594.cc
libstdc++-v3/testsuite/20_util/allocator/1.cc
libstdc++-v3/testsuite/20_util/allocator/overaligned.cc
libstdc++-v3/testsuite/23_containers/unordered_map/96088.cc
libstdc++-v3/testsuite/23_containers/unordered_multimap/96088.cc
libstdc++-v3/testsuite/23_containers/unordered_multiset/96088.cc
libstdc++-v3/testsuite/23_containers/unordered_set/96088.cc
libstdc++-v3/testsuite/ext/throw_allocator/check_delete.cc
libstdc++-v3/testsuite/ext/throw_allocator/check_new.cc
libstdc++-v3/testsuite/lib/libstdc++.exp