[PATCH] D51342: [benchmark] Silence warning by applying upstream patch
Kirill Bobyrev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 28 02:55:42 PDT 2018
kbobyrev created this revision.
kbobyrev added reviewers: lebedev.ri, dberris.
Compiling benchmark library (introduced in https://reviews.llvm.org/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.
https://reviews.llvm.org/D51342
Files:
llvm/utils/benchmark/README.LLVM
llvm/utils/benchmark/include/benchmark/benchmark.h
llvm/utils/benchmark/src/internal_macros.h
Index: llvm/utils/benchmark/src/internal_macros.h
===================================================================
--- llvm/utils/benchmark/src/internal_macros.h
+++ 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_
Index: llvm/utils/benchmark/include/benchmark/benchmark.h
===================================================================
--- llvm/utils/benchmark/include/benchmark/benchmark.h
+++ llvm/utils/benchmark/include/benchmark/benchmark.h
@@ -240,6 +240,18 @@
#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 @@
case kMicrosecond:
return "us";
case kNanosecond:
- default:
return "ns";
}
+ BENCHMARK_UNREACHABLE();
}
inline double GetTimeUnitMultiplier(TimeUnit unit) {
@@ -1446,9 +1458,9 @@
case kMicrosecond:
return 1e6;
case kNanosecond:
- default:
return 1e9;
}
+ BENCHMARK_UNREACHABLE();
}
} // namespace benchmark
Index: llvm/utils/benchmark/README.LLVM
===================================================================
--- llvm/utils/benchmark/README.LLVM
+++ 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51342.162815.patch
Type: text/x-patch
Size: 2614 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180828/4bf77755/attachment.bin>
More information about the llvm-commits
mailing list