aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2018-09-19 13:52:05 +0300
committerDominic Hamon <dominichamon@users.noreply.github.com>2018-09-19 11:52:05 +0100
commit439d6b1c2a6da5cb6adc4c4dfc555af235722396 (patch)
treea553c7677449029dad070dc466339210a9be12da
parent52613079824ac58d06c070aa9fbbb186a5859e2c (diff)
downloadgoogle-benchmark-439d6b1c2a6da5cb6adc4c4dfc555af235722396.tar.gz
Include sys/time.h for cycleclock.h when building on MinGW (#680)
When building for ARM, there is a fallback codepath that uses gettimeofday, which requires sys/time.h. The Windows SDK doesn't have this header, but MinGW does have it. Thus, this fixes building for Windows on ARM with MinGW headers/libraries, while Windows on ARM with the Windows SDK still is broken.
-rw-r--r--src/cycleclock.h2
-rw-r--r--src/internal_macros.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/cycleclock.h b/src/cycleclock.h
index 00d5764..f5e37b0 100644
--- a/src/cycleclock.h
+++ b/src/cycleclock.h
@@ -41,7 +41,7 @@ extern "C" uint64_t __rdtsc();
#pragma intrinsic(__rdtsc)
#endif
-#ifndef BENCHMARK_OS_WINDOWS
+#if !defined(BENCHMARK_OS_WINDOWS) || defined(BENCHMARK_OS_MINGW)
#include <sys/time.h>
#include <time.h>
#endif
diff --git a/src/internal_macros.h b/src/internal_macros.h
index 32089e6..5dbf4fd 100644
--- a/src/internal_macros.h
+++ b/src/internal_macros.h
@@ -40,6 +40,9 @@
#define BENCHMARK_OS_CYGWIN 1
#elif defined(_WIN32)
#define BENCHMARK_OS_WINDOWS 1
+ #if defined(__MINGW32__)
+ #define BENCHMARK_OS_MINGW 1
+ #endif
#elif defined(__APPLE__)
#define BENCHMARK_OS_APPLE 1
#include "TargetConditionals.h"