
The testsuite will automatically select C++20 for these tests now, and removing the hardcoded -std option allows them to be tested for C++23 and C++26 as well. libstdc++-v3/ChangeLog: * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: Remove dg-options. * testsuite/20_util/duration/io.cc: Likewise. * testsuite/std/time/clock/file/io.cc: Likewise. * testsuite/std/time/clock/file/members.cc: Likewise. * testsuite/std/time/clock/file/overview.cc: Likewise. * testsuite/std/time/clock/gps/1.cc: Likewise. * testsuite/std/time/clock/gps/io.cc: Likewise. * testsuite/std/time/clock/local/io.cc: Likewise. * testsuite/std/time/clock/system/io.cc: Likewise. * testsuite/std/time/clock/tai/1.cc: Likewise. * testsuite/std/time/clock/tai/io.cc: Likewise. * testsuite/std/time/clock/utc/1.cc: Likewise. * testsuite/std/time/clock/utc/io.cc: Likewise. * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise. * testsuite/std/time/day/1.cc: Likewise. * testsuite/std/time/day/io.cc: Likewise. * testsuite/std/time/exceptions.cc: Likewise. * testsuite/std/time/format.cc: Likewise. * testsuite/std/time/hh_mm_ss/1.cc: Likewise. * testsuite/std/time/hh_mm_ss/109772.cc: Likewise. * testsuite/std/time/hh_mm_ss/io.cc: Likewise. * testsuite/std/time/is_am/1.cc: Likewise. * testsuite/std/time/is_pm/1.cc: Likewise. * testsuite/std/time/make12/1.cc: Likewise. * testsuite/std/time/make24/1.cc: Likewise. * testsuite/std/time/month/1.cc: Likewise. * testsuite/std/time/month/io.cc: Likewise. * testsuite/std/time/month_day/1.cc: Likewise. * testsuite/std/time/month_day/io.cc: Likewise. * testsuite/std/time/month_day_last/1.cc: Likewise. * testsuite/std/time/month_day_last/io.cc: Likewise. * testsuite/std/time/month_weekday/1.cc: Likewise. * testsuite/std/time/month_weekday/io.cc: Likewise. * testsuite/std/time/month_weekday_last/1.cc: Likewise. * testsuite/std/time/month_weekday_last/io.cc: Likewise. * testsuite/std/time/parse.cc: Likewise. * testsuite/std/time/syn_c++20.cc: Likewise. * testsuite/std/time/time_zone/get_info_local.cc: Likewise. * testsuite/std/time/time_zone/get_info_sys.cc: Likewise. * testsuite/std/time/time_zone/requirements.cc: Likewise. * testsuite/std/time/traits/is_clock.cc: Likewise. * testsuite/std/time/tzdb/1.cc: Likewise. * testsuite/std/time/tzdb/leap_seconds.cc: Likewise. * testsuite/std/time/tzdb_list/1.cc: Likewise. * testsuite/std/time/tzdb_list/requirements.cc: Likewise. * testsuite/std/time/weekday/1.cc: Likewise. * testsuite/std/time/weekday/io.cc: Likewise. * testsuite/std/time/weekday_indexed/io.cc: Likewise. * testsuite/std/time/weekday_last/1.cc: Likewise. * testsuite/std/time/weekday_last/io.cc: Likewise. * testsuite/std/time/year/1.cc: Likewise. * testsuite/std/time/year/2.cc: Likewise. * testsuite/std/time/year/io.cc: Likewise. * testsuite/std/time/weekday_indexed/1.cc: Likewise. * testsuite/std/time/year_month/1.cc: Likewise. * testsuite/std/time/year_month/2.cc: Likewise. * testsuite/std/time/year_month/io.cc: Likewise. * testsuite/std/time/year_month_day/1.cc: Likewise. * testsuite/std/time/year_month_day/2.cc: Likewise. * testsuite/std/time/year_month_day/3.cc: Likewise. * testsuite/std/time/year_month_day/4.cc: Likewise. * testsuite/std/time/year_month_day/io.cc: Likewise. * testsuite/std/time/year_month_day_last/1.cc: Likewise. * testsuite/std/time/year_month_day_last/2.cc: Likewise. * testsuite/std/time/year_month_day_last/io.cc: Likewise. * testsuite/std/time/year_month_weekday/1.cc: Likewise. * testsuite/std/time/year_month_weekday/2.cc: Likewise. * testsuite/std/time/year_month_weekday/3.cc: Likewise. * testsuite/std/time/year_month_weekday/io.cc: Likewise. * testsuite/std/time/year_month_weekday_last/1.cc: Likewise. * testsuite/std/time/year_month_weekday_last/2.cc: Likewise. * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. * testsuite/std/time/zoned_time/1.cc: Likewise. * testsuite/std/time/zoned_time/custom.cc: Likewise. * testsuite/std/time/zoned_time/deduction.cc: Likewise. * testsuite/std/time/zoned_time/io.cc: Likewise. * testsuite/std/time/zoned_time/req_neg.cc: Likewise. * testsuite/std/time/zoned_time/requirements.cc: Likewise. * testsuite/std/time/zoned_traits.cc: Likewise.
38 lines
1 KiB
C++
38 lines
1 KiB
C++
// { dg-do run { target c++20 } }
|
|
// { dg-require-effective-target cxx11_abi }
|
|
|
|
#include <chrono>
|
|
#include <testsuite_hooks.h>
|
|
|
|
using namespace std::chrono;
|
|
|
|
static_assert( std::is_empty_v<zoned_traits<const time_zone*>> );
|
|
static_assert(std::is_default_constructible_v<zoned_traits<const time_zone*>>);
|
|
|
|
// The primary template is a complete type, it just has no members.
|
|
static_assert( std::is_empty_v<zoned_traits<time_zone*>> );
|
|
static_assert(std::is_default_constructible_v<zoned_traits<time_zone*>>);
|
|
static_assert( std::is_empty_v<zoned_traits<int>> );
|
|
static_assert(std::is_default_constructible_v<zoned_traits<int>>);
|
|
|
|
void
|
|
test_default_zone()
|
|
{
|
|
auto p = zoned_traits<const time_zone*>::default_zone();
|
|
static_assert( std::is_same_v<decltype(p), const time_zone*> );
|
|
VERIFY( p == locate_zone("UTC") );
|
|
}
|
|
|
|
void
|
|
test_locate_zone()
|
|
{
|
|
auto p = zoned_traits<const time_zone*>::locate_zone("GMT");
|
|
static_assert( std::is_same_v<decltype(p), const time_zone*> );
|
|
VERIFY( p == locate_zone("GMT") );
|
|
}
|
|
|
|
int main()
|
|
{
|
|
test_default_zone();
|
|
test_locate_zone();
|
|
}
|