gcc/libstdc++-v3/testsuite/std/time
Jonathan Wakely ce6c4d3b4d libstdc++: Implement C++20 std::chrono::parse [PR104167]
This adds the missing C++20 features to <chrono>.

I've implemented my proposed resolutions to LWG issues 3960, 3961, and
3962. There are some unimplemented flags such as %OI which I think are
not implementable in general. It might be possible to use na_llanginfo
with ALT_DIGITS, but that isn't available on all targets. I intend to
file another LWG issue about that.

libstdc++-v3/ChangeLog:

	PR libstdc++/104167
	* include/bits/chrono_io.h (operator|=, operator|): Add noexcept
	to _ChronoParts operators.
	(from_stream, parse): Define new functions.
	(__detail::_Parse, __detail::_Parser): New class templates.
	* include/std/chrono (__cpp_lib_chrono): Define to 201907L for
	C++20.
	* include/std/version (__cpp_lib_chrono): Likewise.
	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
	Adjust expected value of feature test macro.
	* testsuite/20_util/duration/io.cc: Test parsing.
	* testsuite/std/time/clock/file/io.cc: Likewise.
	* testsuite/std/time/clock/gps/io.cc: Likewise.
	* testsuite/std/time/clock/system/io.cc: Likewise.
	* testsuite/std/time/clock/tai/io.cc: Likewise.
	* testsuite/std/time/clock/utc/io.cc: Likewise.
	* testsuite/std/time/day/io.cc: Likewise.
	* testsuite/std/time/month/io.cc: Likewise.
	* testsuite/std/time/month_day/io.cc: Likewise.
	* testsuite/std/time/weekday/io.cc: Likewise.
	* testsuite/std/time/year/io.cc: Likewise.
	* testsuite/std/time/year_month/io.cc: Likewise.
	* testsuite/std/time/year_month_day/io.cc: Likewise.
	* testsuite/std/time/syn_c++20.cc: Check value of macro and for
	the existence of parse and from_stream in namespace chrono.
	* testsuite/std/time/clock/local/io.cc: New test.
	* testsuite/std/time/parse.cc: New test.
2023-08-11 19:58:06 +01:00
..
clock libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
day libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
hh_mm_ss libstdc++: Fix formatting of negative chrono::hh_mm_ss 2023-07-19 16:48:56 +01:00
is_am Update copyright years. 2023-01-16 11:52:17 +01:00
is_pm Update copyright years. 2023-01-16 11:52:17 +01:00
make12 Update copyright years. 2023-01-16 11:52:17 +01:00
make24 Update copyright years. 2023-01-16 11:52:17 +01:00
month libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
month_day libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
month_day_last Update copyright years. 2023-01-16 11:52:17 +01:00
month_weekday Update copyright years. 2023-01-16 11:52:17 +01:00
month_weekday_last Update copyright years. 2023-01-16 11:52:17 +01:00
time_zone libstdc++: Update tzdata to 2023a [PR109288] 2023-03-28 21:12:18 +01:00
traits Update copyright years. 2023-01-16 11:52:17 +01:00
tzdb libstdc++: Make std::chrono::current_zone() default to UTC 2023-03-01 21:26:08 +00:00
tzdb_list libstdc++: Remove dg-xfail-run-if in std/time/tzdb_list/1.cc 2023-01-15 16:45:57 +00:00
weekday libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
weekday_indexed Update copyright years. 2023-01-16 11:52:17 +01:00
weekday_last Update copyright years. 2023-01-16 11:52:17 +01:00
year libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
year_month libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
year_month_day libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
year_month_day_last Update copyright years. 2023-01-16 11:52:17 +01:00
year_month_weekday Update copyright years. 2023-01-16 11:52:17 +01:00
year_month_weekday_last Update copyright years. 2023-01-16 11:52:17 +01:00
zoned_time libstdc++: Implement correct locale-specific chrono formatting [PR110719] 2023-07-19 12:36:59 +01:00
exceptions.cc libstdc++: Add std::format support to <chrono> 2022-12-22 23:34:27 +00:00
format.cc libstdc++: Check for multiple modifiers in chrono format string [PR110708] 2023-07-19 11:03:32 +01:00
parse.cc libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
syn_c++20.cc libstdc++: Implement C++20 std::chrono::parse [PR104167] 2023-08-11 19:58:06 +01:00
zoned_traits.cc libstdc++: Implement C++20 time zone support in <chrono> 2022-12-22 23:34:20 +00:00