summaryrefslogtreecommitdiffstats
path: root/clang/tools/clang-fuzzer
diff options
context:
space:
mode:
Diffstat (limited to 'clang/tools/clang-fuzzer')
-rw-r--r--clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp b/clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
index ef544ae711a..860ffa00b8e 100644
--- a/clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
+++ b/clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
@@ -149,7 +149,23 @@ void CreateAndRunJITFun(const std::string &IR, CodeGenOpt::Level OLvl) {
EE->runStaticConstructorsDestructors(false);
typedef void (*func)(int*, int*, int*, int);
- func f = reinterpret_cast<func>(EE->getPointerToFunction(EntryFunc));
+#if defined(__GNUC__) && !defined(__clang) && \
+ ((__GNUC__ == 4) && (__GNUC_MINOR__ < 9))
+// Silence
+//
+// warning: ISO C++ forbids casting between pointer-to-function and
+// pointer-to-object [-Wpedantic]
+//
+// Since C++11 this casting is conditionally supported and GCC versions
+// starting from 4.9.0 don't warn about the cast.
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+#endif
+ func f = reinterpret_cast<func>(EE->getPointerToFunction(EntryFunc));
+#if defined(__GNUC__) && !defined(__clang) && \
+ ((__GNUC__ == 4) && (__GNUC_MINOR__ < 9))
+#pragma GCC diagnostic pop
+#endif
// Define some dummy arrays to use an input for now
int a[] = {1};
OpenPOWER on IntegriCloud