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