From 895e4cfe52e000916e21d540e87d6f4d1a3f08d5 Mon Sep 17 00:00:00 2001 From: "A. Jiang" 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 +// +// +// template struct is_clock; +// template constexpr bool is_clock_v = is_clock::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 #include From a5c64682b3a932fa46ef08973f830153fac5c5fa Mon Sep 17 00:00:00 2001 From: "A. Jiang" 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" 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 +// +// +// template struct is_clock; +// template constexpr bool is_clock_v = is_clock::value; + #include #include