[libcxx-commits] [libcxx] [libc++][test] Fix-up verifying test for `is_clock(_v)` (PR #166888)

A. Jiang via libcxx-commits libcxx-commits at lists.llvm.org
Thu Nov 6 22:12:43 PST 2025


https://github.com/frederick-vs-ja updated https://github.com/llvm/llvm-project/pull/166888

>From 895e4cfe52e000916e21d540e87d6f4d1a3f08d5 Mon Sep 17 00:00:00 2001
From: "A. Jiang" <de34 at live.cn>
Date: Fri, 7 Nov 2025 11:59:06 +0800
Subject: [PATCH 1/3] [libc++][test] Fix-up verifying test for `is_clock(_v)`

This fixes incompleteness and inconsistency for a test file added in
adc79324618f0e95914ac0fcb26fe0d942319cab, by
- renaming `trait.is.clock.compile.verify.cpp` to
`trait.is.clock.verify.cpp`, and
- adding comments clarifying what are being tested.
---
 ....compile.verify.cpp => trait.is.clock.verify.cpp} | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 rename libcxx/test/libcxx/time/time.traits.is.clock/{trait.is.clock.compile.verify.cpp => trait.is.clock.verify.cpp} (61%)

diff --git a/libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.compile.verify.cpp b/libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.verify.cpp
similarity index 61%
rename from libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.compile.verify.cpp
rename to libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.verify.cpp
index e9ad59aba13cb..f4f438d348a85 100644
--- a/libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.compile.verify.cpp
+++ b/libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.verify.cpp
@@ -8,6 +8,18 @@
 
 // REQUIRES: std-at-least-c++20
 
+// <chrono>
+//
+// template<class T> struct is_clock;
+// template<class T> constexpr bool is_clock_v = is_clock<T>::value;
+
+// [time.traits.is.clock]/3:
+//  The behavior of a program that adds specializations for is_clock is undefined.
+
+// [namespace.std]/3:
+//   The behavior of a C++ program is undefined if it declares an explicit or partial specialization of any standard
+//   library variable template, except where explicitly permitted by the specification of that variable template.
+
 #include <chrono>
 #include <ratio>
 

>From a5c64682b3a932fa46ef08973f830153fac5c5fa Mon Sep 17 00:00:00 2001
From: "A. Jiang" <de34 at live.cn>
Date: Fri, 7 Nov 2025 14:07:49 +0800
Subject: [PATCH 2/3] Rename again

---
 .../trait.is.clock.verify.cpp => time.traits/is.clock.verify.cpp} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename libcxx/test/libcxx/time/{time.traits.is.clock/trait.is.clock.verify.cpp => time.traits/is.clock.verify.cpp} (100%)

diff --git a/libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.verify.cpp b/libcxx/test/libcxx/time/time.traits/is.clock.verify.cpp
similarity index 100%
rename from libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.verify.cpp
rename to libcxx/test/libcxx/time/time.traits/is.clock.verify.cpp

>From 1f59517b6779c96280c616dce33c73cf788c8447 Mon Sep 17 00:00:00 2001
From: "A. Jiang" <de34 at live.cn>
Date: Fri, 7 Nov 2025 14:12:29 +0800
Subject: [PATCH 3/3] Mirror changes to `is.clock.compile.pass.cpp`

---
 .../is.clock.compile.pass.cpp}                               | 5 +++++
 1 file changed, 5 insertions(+)
 rename libcxx/test/std/time/{time.traits.is.clock/trait.is.clock.compile.pass.cpp => time.traits/is.clock.compile.pass.cpp} (98%)

diff --git a/libcxx/test/std/time/time.traits.is.clock/trait.is.clock.compile.pass.cpp b/libcxx/test/std/time/time.traits/is.clock.compile.pass.cpp
similarity index 98%
rename from libcxx/test/std/time/time.traits.is.clock/trait.is.clock.compile.pass.cpp
rename to libcxx/test/std/time/time.traits/is.clock.compile.pass.cpp
index 4168fa7c861ba..4af29d20943ea 100644
--- a/libcxx/test/std/time/time.traits.is.clock/trait.is.clock.compile.pass.cpp
+++ b/libcxx/test/std/time/time.traits/is.clock.compile.pass.cpp
@@ -8,6 +8,11 @@
 
 // REQUIRES: std-at-least-c++20
 
+// <chrono>
+//
+// template<class T> struct is_clock;
+// template<class T> constexpr bool is_clock_v = is_clock<T>::value;
+
 #include <chrono>
 #include <ratio>
 



More information about the libcxx-commits mailing list