[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master 3825e63 1/4: * src/ftbench.c: Fix get_time() fo
From: |
Werner Lemberg |
Subject: |
[freetype2-demos] master 3825e63 1/4: * src/ftbench.c: Fix get_time() for Mingw64 |
Date: |
Wed, 26 May 2021 09:50:28 -0400 (EDT) |
branch: master
commit 3825e638e1bb390a6cfc20c2a2edf3d86f89247b
Author: David Turner <david@freetype.org>
Commit: David Turner <david.turner.dev@gmail.com>
* src/ftbench.c: Fix get_time() for Mingw64
clock_gettime() cannot be used when cross-compiling for Windows
using the Linux Mingw64 toolchain, so ensure the Win32-specific
timer code is always used when _WIN32 is defined.
---
ChangeLog | 8 ++++++++
src/ftbench.c | 30 +++++++++++++++++-------------
2 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c8290fb..a7dfa84 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2021-05-22 David Turner <david@freetype.org>
+
+ * src/ftbench.c: Fix get_time() for Mingw64
+
+ clock_gettime() cannot be used when cross-compiling for Windows
+ using the Linux Mingw64 toolchain, so ensure the Win32-specific
+ timer code is always used when _WIN32 is defined.
+
2021-05-24 David Turner <david@freetype.org>
[build] Add Meson build files and documentation.
diff --git a/src/ftbench.c b/src/ftbench.c
index 37e8e0e..592fcff 100644
--- a/src/ftbench.c
+++ b/src/ftbench.c
@@ -198,19 +198,11 @@
static double
get_time( void )
{
-#if defined _POSIX_TIMERS && _POSIX_TIMERS > 0
- struct timespec tv;
-
-
-#ifdef _POSIX_CPUTIME
- clock_gettime( CLOCK_PROCESS_CPUTIME_ID, &tv );
-#else
- clock_gettime( CLOCK_REALTIME, &tv );
-#endif /* _POSIX_CPUTIME */
-
- return 1E6 * (double)tv.tv_sec + 1E-3 * (double)tv.tv_nsec;
-
-#elif defined _WIN32
+/* NOTE: When building with the Mingw64 toolchain, _POSIX_TIMERS
+ * will be defined, but clock_gettime() won't, so ensure that the
+ * _WIN32 specific timer code appears first here.
+ */
+#if defined _WIN32
#ifdef QPC
LARGE_INTEGER ticks;
@@ -238,6 +230,18 @@
#endif
+#elif defined _POSIX_TIMERS && _POSIX_TIMERS > 0
+ struct timespec tv;
+
+
+#ifdef _POSIX_CPUTIME
+ clock_gettime( CLOCK_PROCESS_CPUTIME_ID, &tv );
+#else
+ clock_gettime( CLOCK_REALTIME, &tv );
+#endif /* _POSIX_CPUTIME */
+
+ return 1E6 * (double)tv.tv_sec + 1E-3 * (double)tv.tv_nsec;
+
#else
/* clock() accuracy has improved since glibc 2.18 */
return 1E6 * (double)clock() / (double)CLOCKS_PER_SEC;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master 3825e63 1/4: * src/ftbench.c: Fix get_time() for Mingw64,
Werner Lemberg <=