[Bug libstdc++/63400] [C++11]precision of std::chrono::high_resolution_clock
frankhb1989 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Sep 29 16:20:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63400
--- Comment #2 from frankhb1989 at gmail dot com ---
(In reply to Jonathan Wakely from comment #1)
> Which of macros are defined on mingw-w64?
>
> Preprocessing this should tell you
>
> #include <chrono>
> #ifdef _GLIBCXX_USE_CLOCK_REALTIME
> #ifdef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL
> #warning system_clock using syscall(SYS_clock_gettime, CLOCK_REALTIME, &tp);
> #else
> #warning system_clock using clock_gettime(CLOCK_REALTIME, &tp);
> #endif
> #elif defined(_GLIBCXX_USE_GETTIMEOFDAY)
> #warning system_clock using gettimeofday(&tv, 0);
> #else
> #warning system_clock using std::time(0);
> #endif
>
> #ifdef _GLIBCXX_USE_CLOCK_MONOTONIC
> #ifdef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL
> #warning steady_clock using syscall(SYS_clock_gettime, CLOCK_MONOTONIC, &tp);
> #else
> #warning steady_clock using clock_gettime(CLOCK_MONOTONIC, &tp);
> #endif
> #else
> #warning steady_clock using
> time_point(system_clock::now().time_since_epoch());
> #endif
I've looked into c++config.h and I'm sure mingw-w64 4.9.1 distro of msys2 uses
clock_gettime defined in winpthreads:
/* Defined if clock_gettime syscall has monotonic and realtime clock support.
*/
/* #undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL */
/* Defined if clock_gettime has monotonic clock support. */
#define _GLIBCXX_USE_CLOCK_MONOTONIC 1
/* Defined if clock_gettime has realtime clock support. */
#define _GLIBCXX_USE_CLOCK_REALTIME 1
/* Defined if gettimeofday is available. */
#define _GLIBCXX_USE_GETTIMEOFDAY 1
Here is the output (g++ -std=c++11):
a.cc:7:2: warning: #warning system_clock using clock_gettime(CLOCK_REALTIME,
&tp); [-Wcpp]
#warning system_clock using clock_gettime(CLOCK_REALTIME, &tp);
^
a.cc:19:2: warning: #warning steady_clock using clock_gettime(CLOCK_MONOTONIC,
&tp); [-Wcpp]
#warning steady_clock using clock_gettime(CLOCK_MONOTONIC, &tp);
^
More information about the Gcc-bugs
mailing list