gcc/libstdc++-v3/include/debug
Jonathan Wakely cf0fded5d8 libstdc++: Add preprocessor conditions for freestanding [PR106953]
This adds checks for _GLIBCXX_HOSTED to a number of headers which are
not currently installed for freestanding, but need to be for P1642R11
support. For example, <iterator> needs to be installed for C++23
freestanding mode, but without stream iterators and streambuf iterators.
Similarly, <memory> needs to be installed, but without std::allocator
and std::shared_ptr. This change disables the non-freestanding parts of
those headers.

libstdc++-v3/ChangeLog:

	PR libstdc++/106953
	* include/backward/auto_ptr.h [!_GLIBCXX_HOSTED]: Do not define
	shared_ptr members.
	* include/bits/alloc_traits.h [!_GLIBCXX_HOSTED]: Do not declare
	std::allocator_traits<std::allocator<T>> specializations for
	freestanding.
	* include/bits/memoryfwd.h [!_GLIBCXX_HOSTED] (allocator): Do
	not declare for freestanding.
	* include/bits/stl_algo.h [!_GLIBCXX_HOSTED] (stable_partition):
	Do not define for freestanding.
	[!_GLIBCXX_HOSTED] (merge, stable_sort): Do not use temporary
	buffers for freestanding.
	* include/bits/stl_algobase.h [!_GLIBCXX_HOSTED]: Do not declare
	streambuf iterators and overloaded algorithms using them.
	* include/bits/stl_uninitialized.h [!_GLIBCXX_HOSTED]: Do not
	define specialized overloads for std::allocator.
	* include/bits/unique_ptr.h [!_GLIBCXX_HOSTED] (make_unique)
	(make_unique_for_overwrite, operator<<): Do not define for
	freestanding.
	* include/c_global/cstdlib [!_GLIBCXX_HOSTED] (_Exit): Declare.
	Use _GLIBCXX_NOTHROW instead of throw().
	* include/debug/assertions.h [!_GLIBCXX_HOSTED]: Ignore
	_GLIBCXX_DEBUG for freestanding.
	* include/debug/debug.h [!_GLIBCXX_DEBUG]: Likewise.
	* include/std/bit [!_GLIBCXX_HOSTED]: Do not use the custom
	__int_traits if <ext/numeric_traits.h> is available.
	* include/std/functional [!_GLIBCXX_HOSTED]: Do not include
	headers that aren't valid for freestanding.
	(boyer_moore_searcher, boyer_moore_horspool_searcher): Do not
	define for freestanding.
	* include/std/iterator [!_GLIBCXX_HOSTED]: Do not include
	headers that aren't valid for freestanding.
	* include/std/memory [!_GLIBCXX_HOSTED]: Likewise.
	* include/std/ranges [!_GLIBCXX_HOSTED] (istream_view): Do not
	define for freestanding.
	(views::__detail::__is_basic_string_view) [!_GLIBCXX_HOSTED]:
	Do not define partial specialization for freestanding.
2022-09-16 21:47:19 +01:00
..
array Update copyright years. 2022-01-03 10:42:10 +01:00
assertions.h libstdc++: Add preprocessor conditions for freestanding [PR106953] 2022-09-16 21:47:19 +01:00
bitset Update copyright years. 2022-01-03 10:42:10 +01:00
debug.h libstdc++: Add preprocessor conditions for freestanding [PR106953] 2022-09-16 21:47:19 +01:00
deque Update copyright years. 2022-01-03 10:42:10 +01:00
formatter.h libstdc++: Do not use nullptr in C++03-compatible code 2022-09-16 15:54:42 +01:00
forward_list Update copyright years. 2022-01-03 10:42:10 +01:00
functions.h Update copyright years. 2022-01-03 10:42:10 +01:00
helper_functions.h Update copyright years. 2022-01-03 10:42:10 +01:00
list Update copyright years. 2022-01-03 10:42:10 +01:00
macros.h libstdc++: Complete __gnu_debug::string Standard conformity 2022-07-19 20:07:28 +02:00
map Update copyright years. 2022-01-03 10:42:10 +01:00
map.h Update copyright years. 2022-01-03 10:42:10 +01:00
multimap.h Update copyright years. 2022-01-03 10:42:10 +01:00
multiset.h Update copyright years. 2022-01-03 10:42:10 +01:00
safe_base.h Update copyright years. 2022-01-03 10:42:10 +01:00
safe_container.h Update copyright years. 2022-01-03 10:42:10 +01:00
safe_iterator.h libstdc++: Avoid -Wparentheses warning with debug iterators 2022-09-13 10:41:47 -04:00
safe_iterator.tcc Update copyright years. 2022-01-03 10:42:10 +01:00
safe_local_iterator.h libstdc++: [_GLIBCXX_DEBUG] Do not consider detached iterators as value-initialized 2022-08-08 20:11:59 +02:00
safe_local_iterator.tcc Update copyright years. 2022-01-03 10:42:10 +01:00
safe_sequence.h Update copyright years. 2022-01-03 10:42:10 +01:00
safe_sequence.tcc Update copyright years. 2022-01-03 10:42:10 +01:00
safe_unordered_base.h Update copyright years. 2022-01-03 10:42:10 +01:00
safe_unordered_container.h Update copyright years. 2022-01-03 10:42:10 +01:00
safe_unordered_container.tcc Update copyright years. 2022-01-03 10:42:10 +01:00
set Update copyright years. 2022-01-03 10:42:10 +01:00
set.h Update copyright years. 2022-01-03 10:42:10 +01:00
stl_iterator.h Update copyright years. 2022-01-03 10:42:10 +01:00
string libstdc++: [_GLIBCXX_DEBUG] Review nullptr assertion diagnostics 2022-08-31 21:22:09 +02:00
unordered_map Update copyright years. 2022-01-03 10:42:10 +01:00
unordered_set Update copyright years. 2022-01-03 10:42:10 +01:00
vector Update copyright years. 2022-01-03 10:42:10 +01:00