1d332d88bSMark de Wever //===----------------------------------------------------------------------===// 2d332d88bSMark de Wever // 3d332d88bSMark de Wever // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4d332d88bSMark de Wever // See https://llvm.org/LICENSE.txt for license information. 5d332d88bSMark de Wever // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6d332d88bSMark de Wever // 7d332d88bSMark de Wever //===----------------------------------------------------------------------===// 8d332d88bSMark de Wever 9d332d88bSMark de Wever // UNSUPPORTED: c++03, c++11, c++14, c++17 10d332d88bSMark de Wever // UNSUPPORTED: no-filesystem, no-localization, no-tzdb 11d332d88bSMark de Wever 12a4422a51SMark de Wever // XFAIL: libcpp-has-no-experimental-tzdb 13d332d88bSMark de Wever // XFAIL: availability-tzdb-missing 14d332d88bSMark de Wever 15d332d88bSMark de Wever // <chrono> 16d332d88bSMark de Wever 17d332d88bSMark de Wever // class time_zone; 18d332d88bSMark de Wever 19d332d88bSMark de Wever // string_view name() const noexcept; 20d332d88bSMark de Wever 21d332d88bSMark de Wever #include <cassert> 22d332d88bSMark de Wever #include <chrono> 23*2e43a304SNikolas Klauser #include <concepts> 24d332d88bSMark de Wever 25d332d88bSMark de Wever #include "test_macros.h" 26d332d88bSMark de Wever 27d332d88bSMark de Wever int main(int, const char**) { 28d332d88bSMark de Wever const std::chrono::tzdb& tzdb = std::chrono::get_tzdb(); 29d332d88bSMark de Wever assert(tzdb.zones.size() > 1); 30d332d88bSMark de Wever 31d332d88bSMark de Wever [[maybe_unused]] std::same_as<std::string_view> auto _ = tzdb.zones[0].name(); 32d332d88bSMark de Wever static_assert(noexcept(tzdb.zones[0].name())); 33d332d88bSMark de Wever assert(tzdb.zones[0].name() != tzdb.zones[1].name()); 34d332d88bSMark de Wever 35d332d88bSMark de Wever return 0; 36d332d88bSMark de Wever } 37