@@ -239,16 +239,22 @@ enum class LLVMRustCodeGenOptLevel {
239
239
Aggressive,
240
240
};
241
241
242
- static CodeGenOpt::Level fromRust (LLVMRustCodeGenOptLevel Level) {
242
+ #if LLVM_VERSION_GE(18, 0)
243
+ using CodeGenOptLevelEnum = llvm::CodeGenOptLevel;
244
+ #else
245
+ using CodeGenOptLevelEnum = llvm::CodeGenOpt::Level;
246
+ #endif
247
+
248
+ static CodeGenOptLevelEnum fromRust (LLVMRustCodeGenOptLevel Level) {
243
249
switch (Level) {
244
250
case LLVMRustCodeGenOptLevel::None:
245
- return CodeGenOpt ::None;
251
+ return CodeGenOptLevelEnum ::None;
246
252
case LLVMRustCodeGenOptLevel::Less:
247
- return CodeGenOpt ::Less;
253
+ return CodeGenOptLevelEnum ::Less;
248
254
case LLVMRustCodeGenOptLevel::Default:
249
- return CodeGenOpt ::Default;
255
+ return CodeGenOptLevelEnum ::Default;
250
256
case LLVMRustCodeGenOptLevel::Aggressive:
251
- return CodeGenOpt ::Aggressive;
257
+ return CodeGenOptLevelEnum ::Aggressive;
252
258
default :
253
259
report_fatal_error (" Bad CodeGenOptLevel." );
254
260
}
@@ -554,9 +560,17 @@ enum class LLVMRustFileType {
554
560
static CodeGenFileType fromRust (LLVMRustFileType Type) {
555
561
switch (Type) {
556
562
case LLVMRustFileType::AssemblyFile:
563
+ #if LLVM_VERSION_GE(18, 0)
564
+ return CodeGenFileType::AssemblyFile;
565
+ #else
557
566
return CGFT_AssemblyFile;
567
+ #endif
558
568
case LLVMRustFileType::ObjectFile:
569
+ #if LLVM_VERSION_GE(18, 0)
570
+ return CodeGenFileType::ObjectFile;
571
+ #else
559
572
return CGFT_ObjectFile;
573
+ #endif
560
574
default :
561
575
report_fatal_error (" Bad FileType." );
562
576
}
0 commit comments