summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKirill Bobyrev <kbobyrev.opensource@gmail.com>2018-08-28 10:27:49 +0000
committerKirill Bobyrev <kbobyrev.opensource@gmail.com>2018-08-28 10:27:49 +0000
commit6a5c01c7e98f27834da0335a1ff96ec99872e18b (patch)
treeeaeb72b4cb50a0d0587d65d9a5771b90efa8ffa7
parentf119e27d80a43e250fc8b09453419cfc4e799359 (diff)
downloadbcm5719-llvm-6a5c01c7e98f27834da0335a1ff96ec99872e18b.tar.gz
bcm5719-llvm-6a5c01c7e98f27834da0335a1ff96ec99872e18b.zip
[benchmark] Silence warning by applying upstream patch
ompiling benchmark library (introduced in D50894) with the latest bootstrapped Clang produces a lot of warnings, this issue was addressed in the upstream patch I pushed earlier. Upstream patch: https://github.com/google/benchmark/commit/f85304e4e3a0e4e1bf15b91720df4a19e90b589f `README.LLVM` notes were updated to reflect the latest changes. Reviewed by: lebedev.ri Differential Revision: https://reviews.llvm.org/D51342 llvm-svn: 340811
-rw-r--r--llvm/utils/benchmark/README.LLVM8
-rw-r--r--llvm/utils/benchmark/include/benchmark/benchmark.h16
-rw-r--r--llvm/utils/benchmark/src/internal_macros.h11
3 files changed, 20 insertions, 15 deletions
diff --git a/llvm/utils/benchmark/README.LLVM b/llvm/utils/benchmark/README.LLVM
index 49e47327a97..1b6f62d61e4 100644
--- a/llvm/utils/benchmark/README.LLVM
+++ b/llvm/utils/benchmark/README.LLVM
@@ -1,9 +1,13 @@
LLVM notes
----------
-This directory contains the Google Benchmark source code. This directory is
-under a different license than LLVM.
+This directory contains the Google Benchmark source code. Currently, the checked
+Benchmark library version is v1.4.1.
+
+This directory is under a different license than LLVM.
Changes:
* Bazel BUILD files are removed from the library
+* https://github.com/google/benchmark/commit/f85304e4e3a0e4e1bf15b91720df4a19e90b589f
+ is applied on top of the v1.4.1 to silence compiler warnings
diff --git a/llvm/utils/benchmark/include/benchmark/benchmark.h b/llvm/utils/benchmark/include/benchmark/benchmark.h
index 23dd3d09b1f..af935a6ef3e 100644
--- a/llvm/utils/benchmark/include/benchmark/benchmark.h
+++ b/llvm/utils/benchmark/include/benchmark/benchmark.h
@@ -240,6 +240,18 @@ BENCHMARK(BM_test)->Unit(benchmark::kMillisecond);
#define BENCHMARK_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
#endif
+#ifndef __has_builtin
+#define __has_builtin(x) 0
+#endif
+
+#if defined(__GNUC__) || __has_builtin(__builtin_unreachable)
+ #define BENCHMARK_UNREACHABLE() __builtin_unreachable()
+#elif defined(_MSC_VER)
+ #define BENCHMARK_UNREACHABLE() __assume(false)
+#else
+ #define BENCHMARK_UNREACHABLE() ((void)0)
+#endif
+
namespace benchmark {
class BenchmarkReporter;
@@ -1434,9 +1446,9 @@ inline const char* GetTimeUnitString(TimeUnit unit) {
case kMicrosecond:
return "us";
case kNanosecond:
- default:
return "ns";
}
+ BENCHMARK_UNREACHABLE();
}
inline double GetTimeUnitMultiplier(TimeUnit unit) {
@@ -1446,9 +1458,9 @@ inline double GetTimeUnitMultiplier(TimeUnit unit) {
case kMicrosecond:
return 1e6;
case kNanosecond:
- default:
return 1e9;
}
+ BENCHMARK_UNREACHABLE();
}
} // namespace benchmark
diff --git a/llvm/utils/benchmark/src/internal_macros.h b/llvm/utils/benchmark/src/internal_macros.h
index edb8a5c0a35..3c1cda39c2f 100644
--- a/llvm/utils/benchmark/src/internal_macros.h
+++ b/llvm/utils/benchmark/src/internal_macros.h
@@ -6,9 +6,6 @@
#ifndef __has_feature
#define __has_feature(x) 0
#endif
-#ifndef __has_builtin
-#define __has_builtin(x) 0
-#endif
#if defined(__clang__)
#if !defined(COMPILER_CLANG)
@@ -78,12 +75,4 @@
#define BENCHMARK_MAYBE_UNUSED
#endif
-#if defined(COMPILER_GCC) || __has_builtin(__builtin_unreachable)
- #define BENCHMARK_UNREACHABLE() __builtin_unreachable()
-#elif defined(COMPILER_MSVC)
- #define BENCHMARK_UNREACHABLE() __assume(false)
-#else
- #define BENCHMARK_UNREACHABLE() ((void)0)
-#endif
-
#endif // BENCHMARK_INTERNAL_MACROS_H_
OpenPOWER on IntegriCloud