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

via libcxx-commits libcxx-commits at lists.llvm.org
Fri Nov 7 08:45:26 PST 2025


Author: A. Jiang
Date: 2025-11-08T00:45:22+08:00
New Revision: f090dd15a10e65e5127afe7bac4e7d148396ff88

URL: https://github.com/llvm/llvm-project/commit/f090dd15a10e65e5127afe7bac4e7d148396ff88
DIFF: https://github.com/llvm/llvm-project/commit/f090dd15a10e65e5127afe7bac4e7d148396ff88.diff

LOG: [libc++][test] Fix-up tests for `is_clock(_v)` (#166888)

This fixes incompleteness and inconsistency for test files added in
adc79324618f0e95914ac0fcb26fe0d942319cab, by
- renaming
`libcxx/test/std/time/time.traits.is.clock/trait.is.clock.compile.pass.cpp`
to `libcxx/test/std/time/time.traits/is.clock.compile.pass.cpp`,
- renaming
`libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.compile.verify.cpp`
to `libcxx/test/libcxx/time/time.traits/is.clock.verify.cpp` , and
- adding comments clarifying what are being tested.

Added: 
    libcxx/test/libcxx/time/time.traits/is.clock.verify.cpp
    libcxx/test/std/time/time.traits/is.clock.compile.pass.cpp

Modified: 
    

Removed: 
    libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.compile.verify.cpp
    libcxx/test/std/time/time.traits.is.clock/trait.is.clock.compile.pass.cpp


################################################################################
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.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.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.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>
 

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