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
|
||
|
|