From 3aa0c5caadb03b1c30d0ac366dbc7b592076dc43 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 6 Jul 2023 08:59:41 -0700 Subject: [PATCH] Adjust to build with llvm 17 PassManagerBuilder has been removed in llvm 17 itaniumDemangle() API signature has changed too Upstream-Status: Submitted [https://github.com/iovisor/bpftrace/pull/2667] Signed-off-by: Khem Raj --- src/ast/passes/codegen_llvm.cpp | 4 ++++ src/cxxdemangler/cxxdemangler_llvm.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/ast/passes/codegen_llvm.cpp b/src/ast/passes/codegen_llvm.cpp index 1af2a23e..49ab8c9d 100644 --- a/src/ast/passes/codegen_llvm.cpp +++ b/src/ast/passes/codegen_llvm.cpp @@ -7,7 +7,9 @@ #include #include +#if LLVM_VERSION_MAJOR <= 16 #include +#endif #include #include #include @@ -17,7 +19,9 @@ #include #endif #include +#if LLVM_VERSION_MAJOR <= 16 #include +#endif #if LLVM_VERSION_MAJOR >= 14 #include #else diff --git a/src/cxxdemangler/cxxdemangler_llvm.cpp b/src/cxxdemangler/cxxdemangler_llvm.cpp index e9a9db24..1b0bf7ea 100644 --- a/src/cxxdemangler/cxxdemangler_llvm.cpp +++ b/src/cxxdemangler/cxxdemangler_llvm.cpp @@ -6,7 +6,11 @@ namespace bpftrace { char* cxxdemangle(const char* mangled) { +#if LLVM_VERSION_MAJOR <= 16 return llvm::itaniumDemangle(mangled, nullptr, nullptr, nullptr); +#else + return llvm::itaniumDemangle(mangled); +#endif } } // namespace bpftrace -- 2.41.0