45 lines
1.7 KiB
Diff
45 lines
1.7 KiB
Diff
From 1632c1fb41d03730a5106696c4fed64cd4a86785 Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Mon, 13 Mar 2023 21:30:27 -0700
|
|
Subject: [PATCH 1/3] ast: Use std::optional in CodegenLLVM::CodegenLLVM call
|
|
|
|
Fixes build with clang-16
|
|
|
|
src/ast/passes/codegen_llvm.cpp:63:53: error: use of undeclared identifier 'Optional'; did you mean 'std::optional'?
|
|
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
---
|
|
src/ast/passes/codegen_llvm.cpp | 16 +++++++++++-----
|
|
1 file changed, 11 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/src/ast/passes/codegen_llvm.cpp b/src/ast/passes/codegen_llvm.cpp
|
|
index 4e2a18e1..efeb4160 100644
|
|
--- a/src/ast/passes/codegen_llvm.cpp
|
|
+++ b/src/ast/passes/codegen_llvm.cpp
|
|
@@ -56,11 +56,17 @@ CodegenLLVM::CodegenLLVM(Node *root, BPFtrace &bpftrace)
|
|
throw std::runtime_error(
|
|
"Could not find bpf llvm target, does your llvm support it?");
|
|
|
|
- target_machine_.reset(target->createTargetMachine(LLVMTargetTriple,
|
|
- "generic",
|
|
- "",
|
|
- TargetOptions(),
|
|
- Optional<Reloc::Model>()));
|
|
+ target_machine_.reset(
|
|
+ target->createTargetMachine(LLVMTargetTriple,
|
|
+ "generic",
|
|
+ "",
|
|
+ TargetOptions(),
|
|
+#if LLVM_VERSION_MAJOR >= 16
|
|
+ std::optional<Reloc::Model>()
|
|
+#else
|
|
+ Optional<Reloc::Model>()
|
|
+#endif
|
|
+ ));
|
|
target_machine_->setOptLevel(llvm::CodeGenOpt::Aggressive);
|
|
|
|
module_->setTargetTriple(LLVMTargetTriple);
|
|
--
|
|
2.40.1
|
|
|