Skip to content

Commit 8349c64

Browse files
fix include and tests
1 parent 9578700 commit 8349c64

File tree

3 files changed

+6
-24
lines changed

3 files changed

+6
-24
lines changed

libcxx/include/__chrono/is_clock.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
#define _LIBCPP___CHRONO_IS_CLOCK_H
1212

1313
#include <__config>
14+
15+
#include <__chrono/duration.h>
16+
#include <__chrono/time_point.h>
17+
#include <__concepts/same_as.h>
1418
#include <__type_traits/integral_constant.h>
1519
#include <__type_traits/is_arithmetic.h>
1620
#include <__type_traits/is_same.h>
@@ -26,12 +30,6 @@ _LIBCPP_BEGIN_NAMESPACE_STD
2630

2731
namespace chrono {
2832

29-
template <class _Rep, class _Period>
30-
class duration;
31-
32-
template <class _Clock, class _Duration>
33-
class time_point;
34-
3533
// Helper to check that _Tp::time_point has the form time_point<_, typename _Tp::duration>.
3634
template <class _TimePoint, class _ClockType>
3735
inline constexpr bool __is_valid_clock_time_point_v = false;

libcxx/test/std/time/time.traits.is.clock/trait.is.clock.compile.verify.cpp renamed to libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.compile.verify.cpp

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,8 @@
1111
#include <chrono>
1212
#include <ratio>
1313

14-
#if !__has_warning("-Winvalid-specializations")
15-
// expected-no-diagnostics
16-
#else
17-
18-
namespace std::chrono {
19-
// try adding specializations to is_clock
2014
template <>
21-
struct is_clock<int> : std::false_type {}; // expected-error@*:* {{'is_clock' cannot be specialized}}
15+
struct std::chrono::is_clock<int> : std::false_type {}; // expected-error@*:* {{'is_clock' cannot be specialized}}
2216

2317
template <>
24-
constexpr bool is_clock_v<float> = false; // expected-error@*:* {{'is_clock_v' cannot be specialized}}
25-
26-
} // namespace std::chrono
27-
28-
#endif
18+
constexpr bool std::chrono::is_clock_v<float> = false; // expected-error@*:* {{'is_clock_v' cannot be specialized}}

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,19 +176,13 @@ static_assert(std::chrono::is_clock_v<std::chrono::system_clock>);
176176

177177
// Test standard clock types
178178
static_assert(std::chrono::is_clock_v<std::chrono::system_clock>);
179-
#if _LIBCPP_HAS_MONOTONIC_CLOCK
180-
static_assert(std::chrono::is_clock_v<std::chrono::steady_clock>);
181-
#endif
182179
static_assert(std::chrono::is_clock_v<std::chrono::high_resolution_clock>);
183180

184181
// Test non-clock types
185182
static_assert(!std::chrono::is_clock_v<EmptyStruct>);
186183
static_assert(!std::chrono::is_clock_v<int>);
187184
static_assert(!std::chrono::is_clock_v<void>);
188185
static_assert(!std::chrono::is_clock_v<std::chrono::system_clock::time_point>);
189-
#if _LIBCPP_HAS_MONOTONIC_CLOCK
190-
static_assert(!std::chrono::is_clock_v<std::chrono::steady_clock::time_point>);
191-
#endif
192186
static_assert(!std::chrono::is_clock_v<std::chrono::seconds>);
193187
static_assert(!std::chrono::is_clock_v<std::chrono::milliseconds>);
194188

0 commit comments

Comments
 (0)