From 023dfa5716326449662059516ddff2ed459526a1 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Wed, 19 Sep 2018 14:30:45 +0000 Subject: [PATCH] [benchmark] Cherrypick fix for MinGW/ARM from upstream This fixes building for Windows on ARM, with MinGW headers. (Building for Windows on ARM with Windows SDK still is unsupported by the benchmark library.) Differential Revision: https://reviews.llvm.org/D52262 llvm-svn: 342549 --- llvm/utils/benchmark/README.LLVM | 2 ++ llvm/utils/benchmark/src/cycleclock.h | 2 +- llvm/utils/benchmark/src/internal_macros.h | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/llvm/utils/benchmark/README.LLVM b/llvm/utils/benchmark/README.LLVM index b425ec75305f..0121b145dedd 100644 --- a/llvm/utils/benchmark/README.LLVM +++ b/llvm/utils/benchmark/README.LLVM @@ -17,3 +17,5 @@ Changes: is applied to fix 32-bit build failure on macOS * https://github.com/google/benchmark/commit/52613079824ac58d06c070aa9fbbb186a5859e2c is applied to fix cross compilation with MinGW headers +* https://github.com/google/benchmark/commit/439d6b1c2a6da5cb6adc4c4dfc555af235722396 + is applied to fix building with MinGW headers for ARM diff --git a/llvm/utils/benchmark/src/cycleclock.h b/llvm/utils/benchmark/src/cycleclock.h index 3b376ac57d5f..e1f18cc64d20 100644 --- a/llvm/utils/benchmark/src/cycleclock.h +++ b/llvm/utils/benchmark/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 #include #endif diff --git a/llvm/utils/benchmark/src/internal_macros.h b/llvm/utils/benchmark/src/internal_macros.h index 3c1cda39c2fd..f2d54bfcbd9d 100644 --- a/llvm/utils/benchmark/src/internal_macros.h +++ b/llvm/utils/benchmark/src/internal_macros.h @@ -35,6 +35,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"