gcc/libstdc++-v3/include/std
Jonathan Wakely 6251ea15f5 libstdc++: Adjust overflow prevention to operator>>
This adjusts the overflow prevention added to operator>> so that we can
distinguish "unknown size" from "zero size", and avoid writing anything
at all in to zero sized buffers.

This also removes the incorrect comment saying extraction stops at a
null byte.

libstdc++-v3/ChangeLog:

	* include/std/istream (operator>>(istream&, char*)): Add
	attributes to get warnings for pointers that are null or known
	to point to the end of a buffer. Request upper bound from
	__builtin_object_size check and handle zero-sized buffer case.
	(operator>>(istream&, signed char))
	(operator>>(istream&, unsigned char*)): Add attributes.
	* testsuite/27_io/basic_istream/extractors_character/char/overflow.cc:
	Check extracting into the middle of a buffer.
	* testsuite/27_io/basic_istream/extractors_character/wchar_t/overflow.cc: New test.
2020-08-06 18:26:45 +01:00
..
algorithm
any
array
atomic libstdc++: Break long lines to fit in 80 columns 2020-08-05 22:48:17 +01:00
bit libstdc++: Replace __int_limits with __numeric_traits_integer 2020-07-07 23:36:29 +01:00
bitset
charconv libstdc++: Add std::from_chars for floating-point types 2020-07-20 23:49:27 +01:00
chrono
codecvt
complex libstdc++: Fix -Wmismatched-tags warnings (PR 96063) 2020-07-06 17:12:29 +01:00
concepts
condition_variable
coroutine libstdc++, coroutine: Add missing constexpr markers. 2020-07-17 19:51:09 +01:00
deque
execution
filesystem
forward_list
fstream
functional libstdc++: Fix -Wmismatched-tags warnings (PR 96063) 2020-07-06 17:12:29 +01:00
future libstdc++: Add static assertions to futures and promises [LWG 3458] 2020-07-22 20:11:00 +01:00
iomanip
ios
iosfwd
iostream
istream libstdc++: Adjust overflow prevention to operator>> 2020-08-06 18:26:45 +01:00
iterator
limits libstdc++: Whitespace changes to remove spaces before tabs 2020-07-07 23:39:44 +01:00
list
locale
map
memory
memory_resource libstdc++: Replace __int_limits with __numeric_traits_integer 2020-07-07 23:36:29 +01:00
mutex
numbers
numeric
optional libstdc++: Cleanup whitespace and type trait usage in <optional> 2020-07-06 21:55:50 +01:00
ostream
queue
random
ranges
ratio
regex
scoped_allocator
set
shared_mutex
span
sstream
stack
stdexcept
stop_token
streambuf libstdc++: Replace operator>>(istream&, char*) [LWG 2499] 2020-08-05 22:17:18 +01:00
string
string_view libstdc++: Replace __int_limits with __numeric_traits_integer 2020-07-07 23:36:29 +01:00
system_error libstdc++: Fix -Wmismatched-tags warnings (PR 96063) 2020-07-06 17:12:29 +01:00
thread libstdc++: Fix -Wmismatched-tags warnings (PR 96063) 2020-07-06 17:12:29 +01:00
tuple libstdc++: Fix -Wmismatched-tags warnings (PR 96063) 2020-07-06 17:12:29 +01:00
type_traits libstdc++: Fix -Wmismatched-tags warnings (PR 96063) 2020-07-06 17:12:29 +01:00
typeindex
unordered_map
unordered_set
utility libstdc++: Replace __int_limits with __numeric_traits_integer 2020-07-07 23:36:29 +01:00
valarray libstdc++: Fix -Wmismatched-tags warnings (PR 96063) 2020-07-06 17:12:29 +01:00
variant PR libstdc++/91807 2020-07-02 22:16:39 +03:00
vector
version