[libcxx-commits] [libcxx] [libc++][format] Enables formattable tests for chrono formatters. (PR #128356)

Mark de Wever via libcxx-commits libcxx-commits at lists.llvm.org
Wed Feb 26 09:19:22 PST 2025


https://github.com/mordante updated https://github.com/llvm/llvm-project/pull/128356

>From f6833afa2159b49425a1dee7f9bbafa89e6a02dc Mon Sep 17 00:00:00 2001
From: Mark de Wever <koraq at xs4all.nl>
Date: Sat, 22 Feb 2025 14:41:57 +0100
Subject: [PATCH] [libc++][format] Enables formattable tests for chrono
 formatters.

These were forgotten when these types were implemented.
---
 .../concept.formattable.compile.pass.cpp       | 12 +++++++-----
 ...ing_formatter_optimization.compile.pass.cpp | 18 ++++++++++++------
 2 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp b/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
index ec27acd75e110..194a308c03b7e 100644
--- a/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
+++ b/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
@@ -154,10 +154,10 @@ void test_P1361() {
 #  if !defined(TEST_HAS_NO_EXPERIMENTAL_TZDB) && !defined(TEST_HAS_NO_TIME_ZONE_DATABASE) &&                           \
       !defined(TEST_HAS_NO_FILESYSTEM)
   assert_is_formattable<std::chrono::utc_time<std::chrono::microseconds>, CharT>();
-  //assert_is_formattable<std::chrono::tai_time<std::chrono::microseconds>, CharT>();
-  //assert_is_formattable<std::chrono::gps_time<std::chrono::microseconds>, CharT>();
+  assert_is_formattable<std::chrono::tai_time<std::chrono::microseconds>, CharT>();
+  assert_is_formattable<std::chrono::gps_time<std::chrono::microseconds>, CharT>();
 
-#  endif // !defined(TEST_HAS_NO_EXPERIMENTAL_TZDB) && !defined(TEST_HAS_NO_TIME_ZONE_DATABASE) &&
+#  endif // !defined(TEST_HAS_NO_EXPERIMENTAL_TZDB) && !defined(TEST_HAS_NO_TIME_ZONE_DATABASE) &&                     \
          // !defined(TEST_HAS_NO_FILESYSTEM)
 
   assert_is_formattable<std::chrono::file_time<std::chrono::microseconds>, CharT>();
@@ -188,8 +188,10 @@ void test_P1361() {
   assert_is_formattable<std::chrono::sys_info, CharT>();
   assert_is_formattable<std::chrono::local_info, CharT>();
 
-  //assert_is_formattable<std::chrono::zoned_time, CharT>();
-#  endif // !defined(TEST_HAS_NO_EXPERIMENTAL_TZDB)
+#    if !defined(TEST_HAS_NO_TIME_ZONE_DATABASE) && !defined(TEST_HAS_NO_FILESYSTEM)
+  assert_is_formattable<std::chrono::zoned_time<std::chrono::microseconds>, CharT>();
+#    endif // !defined(TEST_HAS_NO_TIME_ZONE_DATABASE) && !defined(TEST_HAS_NO_FILESYSTEM)
+#  endif   // !defined(TEST_HAS_NO_EXPERIMENTAL_TZDB)
 
 #endif // TEST_HAS_NO_LOCALIZATION
 }
diff --git a/libcxx/test/std/utilities/format/format.formatter/format.formatter.locking/enable_nonlocking_formatter_optimization.compile.pass.cpp b/libcxx/test/std/utilities/format/format.formatter/format.formatter.locking/enable_nonlocking_formatter_optimization.compile.pass.cpp
index 934de7ca4dcf2..73a4952960d95 100644
--- a/libcxx/test/std/utilities/format/format.formatter/format.formatter.locking/enable_nonlocking_formatter_optimization.compile.pass.cpp
+++ b/libcxx/test/std/utilities/format/format.formatter/format.formatter.locking/enable_nonlocking_formatter_optimization.compile.pass.cpp
@@ -122,9 +122,13 @@ void test_P1361() {
   static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::microseconds>);
 
   static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::sys_time<std::chrono::microseconds>>);
-  //static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::utc_time<std::chrono::microseconds>>);
-  //static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::tai_time<std::chrono::microseconds>>);
-  //static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::gps_time<std::chrono::microseconds>>);
+#  if !defined(TEST_HAS_NO_EXPERIMENTAL_TZDB) && !defined(TEST_HAS_NO_TIME_ZONE_DATABASE) &&                           \
+      !defined(TEST_HAS_NO_FILESYSTEM)
+  static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::utc_time<std::chrono::microseconds>>);
+  static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::tai_time<std::chrono::microseconds>>);
+  static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::gps_time<std::chrono::microseconds>>);
+#  endif // !defined(TEST_HAS_NO_EXPERIMENTAL_TZDB) && !defined(TEST_HAS_NO_TIME_ZONE_DATABASE) &&                     \
+         // !defined(TEST_HAS_NO_FILESYSTEM)
   static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::file_time<std::chrono::microseconds>>);
   static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::local_time<std::chrono::microseconds>>);
 
@@ -149,10 +153,12 @@ void test_P1361() {
 
   static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::hh_mm_ss<std::chrono::microseconds>>);
 
-  //static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::sys_info>);
-  //static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::local_info>);
+  static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::sys_info>);
+  static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::local_info>);
 
-  //static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::zoned_time>);
+#  if !defined(TEST_HAS_NO_TIME_ZONE_DATABASE) && !defined(TEST_HAS_NO_FILESYSTEM)
+  static_assert(!std::enable_nonlocking_formatter_optimization<std::chrono::zoned_time<std::chrono::microseconds>>);
+#  endif // !defined(TEST_HAS_NO_TIME_ZONE_DATABASE) && !defined(TEST_HAS_NO_FILESYSTEM)
 
 #endif // TEST_HAS_NO_LOCALIZATION
 }



More information about the libcxx-commits mailing list