gcc/libstdc++-v3/testsuite/27_io
Jonathan Wakely a219139e98 libstdc++: Implement std::ios_base::noreplace for C++23 [PR59769]
This implements my P2467R0 proposal to support opening an fstream in
exclusive mode. The new constant is also supported pre-C++23 as
std::ios_base::__noreplace.

This proposal hasn't been approved for C++23 yet, but I am confident it
will be, as this is restoring a feture found in pre-ISO C++ iostreams
implementations (and still present in the MSVC library as _Noreplace).
If the proposal fails for C++23 we can remove the ios::noreplace
name and just keep ios::__noreplace as an extension.

libstdc++-v3/ChangeLog:

	PR libstdc++/59769
	* config/io/basic_file_stdio.cc (fopen_mode): Add support for
	exclusive mode.
	* include/bits/ios_base.h (_S_noreplace): Define new enumerator.
	(ios_base::__noreplace): Define.
	(ios_base::noreplace): Define for C++23.
	* include/std/version (__cpp_lib_ios_noreplace): Define.
	* testsuite/27_io/basic_ofstream/open/char/noreplace.cc: New test.
	* testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: New test.
2021-12-09 22:59:48 +00:00
..
basic_filebuf libstdc++: Move test that depends on wchar_t I/O to wchar_t sub-directory 2021-10-09 00:57:48 +01:00
basic_fstream libstdc++: Remove redundant -std=gnu++17 options from filesystem tests 2021-05-10 16:22:53 +01:00
basic_ifstream libstdc++: Remove redundant -std=gnu++17 options from filesystem tests 2021-05-10 16:22:53 +01:00
basic_ios Update copyright years. 2021-01-04 10:26:59 +01:00
basic_iostream libstdc++: Rename tests with incorrect extension 2021-09-17 12:40:41 +01:00
basic_istream libstdc++: Fix dg-do directive for tests supposed to be run 2021-11-26 15:11:58 +00:00
basic_istringstream libstdc++: Replace hyphens in effective target keywords 2021-11-24 13:20:26 +00:00
basic_ofstream libstdc++: Implement std::ios_base::noreplace for C++23 [PR59769] 2021-12-09 22:59:48 +00:00
basic_ostream libstdc++: Replace hyphens in effective target keywords 2021-11-24 13:20:26 +00:00
basic_ostringstream libstdc++: Replace hyphens in effective target keywords 2021-11-24 13:20:26 +00:00
basic_streambuf Update copyright years. 2021-01-04 10:26:59 +01:00
basic_stringbuf libstdc++: Replace hyphens in effective target keywords 2021-11-24 13:20:26 +00:00
basic_stringstream libstdc++: Replace hyphens in effective target keywords 2021-11-24 13:20:26 +00:00
basic_syncbuf libstdc++: Replace hyphens in effective target keywords 2021-11-24 13:20:26 +00:00
basic_syncstream libstdc++: Replace hyphens in effective target keywords 2021-11-24 13:20:26 +00:00
filesystem Make full use of context-sensitive ranges in access warnings. 2021-10-26 16:53:23 -06:00
fpos Update copyright years. 2021-01-04 10:26:59 +01:00
headers libstdc++: Do not assume std::FILE is complete [PR 99270] 2021-02-25 15:35:58 +00:00
ios_base Update copyright years. 2021-01-04 10:26:59 +01:00
manipulators libstdc++: Remove redundant -std=gnu++17 option from remaining tests 2021-05-10 16:22:54 +01:00
objects Update copyright years. 2021-01-04 10:26:59 +01:00
spanstream libstdc++: Implement std::spanstream for C++23 2021-11-13 11:45:31 +00:00
types libstdc++: Remove redundant -std=gnu++17 option from remaining tests 2021-05-10 16:22:54 +01:00
rvalue_streams-2.cc libstdc++: Implement LWG 1203 for rvalue iostreams 2021-04-30 14:33:19 +01:00
rvalue_streams.cc libstdc++: Implement LWG 1203 for rvalue iostreams 2021-04-30 14:33:19 +01:00