clover: Fix build after LLVM r313390
authorJan Vesely <jan.vesely@rutgers.edu>
Sat, 16 Sep 2017 00:34:42 +0000 (20:34 -0400)
committerJan Vesely <jan.vesely@rutgers.edu>
Sat, 16 Sep 2017 01:39:54 +0000 (21:39 -0400)
v2: pass llvm context reference instead of a pointer

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/gallium/state_trackers/clover/llvm/compat.hpp
src/gallium/state_trackers/clover/llvm/invocation.cpp

index b22ecfa..23b111d 100644 (file)
@@ -198,6 +198,16 @@ namespace clover {
                f(mod.getError().message());
 #endif
          }
+
+        template<typename T> void
+        set_diagnostic_handler(::llvm::LLVMContext &ctx,
+                               T *diagnostic_handler, void *data) {
+#if HAVE_LLVM >= 0x0600
+           ctx.setDiagnosticHandlerCallBack(diagnostic_handler, data);
+#else
+           ctx.setDiagnosticHandler(diagnostic_handler, data);
+#endif
+        }
       }
    }
 }
index 6412377..a373df4 100644 (file)
@@ -89,7 +89,7 @@ namespace {
    create_context(std::string &r_log) {
       init_targets();
       std::unique_ptr<LLVMContext> ctx { new LLVMContext };
-      ctx->setDiagnosticHandler(diagnostic_handler, &r_log);
+      compat::set_diagnostic_handler(*ctx, diagnostic_handler, &r_log);
       return ctx;
    }