r263839 - in /trunk/libstdc++-v3: ChangeLog inc...
redi@gcc.gnu.org
redi@gcc.gnu.org
Fri Aug 24 17:43:00 GMT 2018
Author: redi
Date: Fri Aug 24 17:43:18 2018
New Revision: 263839
URL: https://gcc.gnu.org/viewcvs?rev=263839&root=gcc&view=rev
Log:
Forward declare debug containers so std::pmr aliases work
Prior to this change, including a <debug/xxx> header when _GLIBCXX_DEBUG
is also defined would fail to compile in C++17 or later. The <debug/xxx>
header would include the standard <xxx> header which defined
std::pmr::xxx as an alias for std::xxx. But in Debug Mode std::xxx
refers to std::__debug::xxx which has not been defined yet (because it
is in <debug/xxx> after the inclusion of <xxx>).
This adds declarations of the debug containers before including the
non-Debug Mode <xxx> header, so that the std::pmr::xxx aliases work.
* include/debug/deque (std::__debug::deque): Declare.
* include/debug/forward_list (std::__debug::forward_list): Declare.
* include/debug/list (std::__debug::list): Declare.
* include/debug/map (std::__debug::map): Declare.
* include/debug/set (std::__debug::set): Declare.
* include/debug/unordered_map (std::__debug::unordered_map): Declare.
* include/debug/unordered_set (std::__debug::unordered_set): Declare.
* include/debug/vector (std::__debug::vector): Declare.
* testsuite/23_containers/deque/types/pmr_typedefs_debug.cc: New test.
* testsuite/23_containers/forward_list/pmr_typedefs_debug.cc: New
test.
* testsuite/23_containers/list/pmr_typedefs_debug.cc: New test.
* testsuite/23_containers/map/pmr_typedefs_debug.cc: New test.
* testsuite/23_containers/multimap/pmr_typedefs_debug.cc: New test.
* testsuite/23_containers/multiset/pmr_typedefs_debug.cc: New test.
* testsuite/23_containers/set/pmr_typedefs_debug.cc: New test.
* testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc: New
test.
* testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc:
New test.
* testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc:
New test.
* testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc: New
test.
* testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
Adjust dg-error lineno.
* testsuite/23_containers/vector/types/pmr_typedefs_debug.cc: New
test.
Added:
trunk/libstdc++-v3/testsuite/23_containers/deque/types/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/forward_list/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/list/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/map/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/multimap/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/multiset/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/set/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
trunk/libstdc++-v3/testsuite/23_containers/vector/types/pmr_typedefs_debug.cc
- copied, changed from r263830, trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/debug/deque
trunk/libstdc++-v3/include/debug/forward_list
trunk/libstdc++-v3/include/debug/list
trunk/libstdc++-v3/include/debug/map
trunk/libstdc++-v3/include/debug/set
trunk/libstdc++-v3/include/debug/unordered_map
trunk/libstdc++-v3/include/debug/unordered_set
trunk/libstdc++-v3/include/debug/vector
trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
More information about the Libstdc++-cvs
mailing list