diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp index 6ab32befbcd..d49578e1272 100644 --- a/src/gallium/frontends/clover/llvm/invocation.cpp +++ b/src/gallium/frontends/clover/llvm/invocation.cpp @@ -128,11 +128,20 @@ namespace { } void +#if LLVM_VERSION_MAJOR >= 19 + diagnostic_handler(const ::llvm::DiagnosticInfo *di, void *data) { + if (di->getSeverity() == ::llvm::DS_Error) { +#else diagnostic_handler(const ::llvm::DiagnosticInfo &di, void *data) { if (di.getSeverity() == ::llvm::DS_Error) { +#endif raw_string_ostream os { *reinterpret_cast(data) }; ::llvm::DiagnosticPrinterRawOStream printer { os }; +#if LLVM_VERSION_MAJOR >= 19 + di->print(printer); +#else di.print(printer); +#endif throw build_error(); } }