Author: jroelofs Date: Tue Sep 2 16:14:38 2014 New Revision: 216949 URL: http://llvm.org/viewvc/llvm-project?rev=216949&view=rev Log: Partially address a FIXME in steady_clock::now()
http://reviews.llvm.org/D4045 Modified: libcxx/trunk/include/__config libcxx/trunk/include/chrono libcxx/trunk/src/chrono.cpp libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/now.pass.cpp Modified: libcxx/trunk/include/__config URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=216949&r1=216948&r2=216949&view=diff ============================================================================== --- libcxx/trunk/include/__config (original) +++ libcxx/trunk/include/__config Tue Sep 2 16:14:38 2014 @@ -650,6 +650,11 @@ template <unsigned> struct __static_asse # define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 1 #endif +#if (!defined(_POSIX_TIMERS) || _POSIX_TIMERS <= 0) || \ + (!defined(_POSIX_MONOTONIC_CLOCK) || _POSIX_MONOTONIC_CLOCK <= 0) +#define _LIBCPP_HAS_NO_MONOTONIC_CLOCK +#endif + #ifndef _LIBCPP_STD_VER # if __cplusplus <= 201103L # define _LIBCPP_STD_VER 11 Modified: libcxx/trunk/include/chrono URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/chrono?rev=216949&r1=216948&r2=216949&view=diff ============================================================================== --- libcxx/trunk/include/chrono (original) +++ libcxx/trunk/include/chrono Tue Sep 2 16:14:38 2014 @@ -926,6 +926,7 @@ public: static time_point from_time_t(time_t __t) _NOEXCEPT; }; +#ifndef _LIBCPP_HAS_NO_MONOTONIC_CLOCK class _LIBCPP_TYPE_VIS steady_clock { public: @@ -939,6 +940,9 @@ public: }; typedef steady_clock high_resolution_clock; +#else +typedef system_clock high_resolution_clock; +#endif } // chrono Modified: libcxx/trunk/src/chrono.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/src/chrono.cpp?rev=216949&r1=216948&r2=216949&view=diff ============================================================================== --- libcxx/trunk/src/chrono.cpp (original) +++ libcxx/trunk/src/chrono.cpp Tue Sep 2 16:14:38 2014 @@ -46,6 +46,7 @@ system_clock::from_time_t(time_t t) _NOE return system_clock::time_point(seconds(t)); } +#ifndef _LIBCPP_HAS_NO_MONOTONIC_CLOCK // steady_clock const bool steady_clock::is_steady; @@ -127,6 +128,8 @@ steady_clock::now() _NOEXCEPT } #endif // __APPLE__ +#endif // !_LIBCPP_HAS_NO_MONOTONIC_CLOCK + } _LIBCPP_END_NAMESPACE_STD Modified: libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp?rev=216949&r1=216948&r2=216949&view=diff ============================================================================== --- libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp (original) +++ libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp Tue Sep 2 16:14:38 2014 @@ -11,6 +11,7 @@ // darwin11 and darwin12: // XFAIL: with_system_lib=x86_64-apple-darwin11 // XFAIL: with_system_lib=x86_64-apple-darwin12 +// UNSUPPORTED: no-monotonic-clock // <chrono> Modified: libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/now.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/now.pass.cpp?rev=216949&r1=216948&r2=216949&view=diff ============================================================================== --- libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/now.pass.cpp (original) +++ libcxx/trunk/test/utilities/time/time.clock/time.clock.steady/now.pass.cpp Tue Sep 2 16:14:38 2014 @@ -6,6 +6,8 @@ // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// +// +// UNSUPPORTED: no-monotonic-clock // <chrono> _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
