diff --git a/src/main.cpp b/src/main.cpp index f70c56a8..24785b42 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -81,9 +81,15 @@ void cleanupHipifyOptions(std::vector &args) { void sortInputFiles(int argc, const char **argv, std::vector &files) { if (files.size() < 2) return; +#if LLVM_VERSION_MAJOR >= 21 + clang::DiagnosticOptions diagOpts; + clang::TextDiagnosticPrinter diagClient(llvm::errs(), diagOpts); + clang::DiagnosticsEngine Diagnostics(IntrusiveRefCntPtr(new clang::DiagnosticIDs()), diagOpts, &diagClient, false); +#else IntrusiveRefCntPtr diagOpts(new clang::DiagnosticOptions()); clang::TextDiagnosticPrinter diagClient(llvm::errs(), &*diagOpts); clang::DiagnosticsEngine Diagnostics(IntrusiveRefCntPtr(new clang::DiagnosticIDs()), &*diagOpts, &diagClient, false); +#endif std::unique_ptr driver(new clang::driver::Driver("", "nvptx64-nvidia-cuda", Diagnostics)); std::vector Args(argv, argv + argc); cleanupHipifyOptions(Args);