@@ -239,16 +239,22 @@ enum class LLVMRustCodeGenOptLevel {
239239 Aggressive,
240240};
241241
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) {
243249 switch (Level) {
244250 case LLVMRustCodeGenOptLevel::None:
245- return CodeGenOpt ::None;
251+ return CodeGenOptLevelEnum ::None;
246252 case LLVMRustCodeGenOptLevel::Less:
247- return CodeGenOpt ::Less;
253+ return CodeGenOptLevelEnum ::Less;
248254 case LLVMRustCodeGenOptLevel::Default:
249- return CodeGenOpt ::Default;
255+ return CodeGenOptLevelEnum ::Default;
250256 case LLVMRustCodeGenOptLevel::Aggressive:
251- return CodeGenOpt ::Aggressive;
257+ return CodeGenOptLevelEnum ::Aggressive;
252258 default :
253259 report_fatal_error (" Bad CodeGenOptLevel." );
254260 }
@@ -554,9 +560,17 @@ enum class LLVMRustFileType {
554560static CodeGenFileType fromRust (LLVMRustFileType Type) {
555561 switch (Type) {
556562 case LLVMRustFileType::AssemblyFile:
563+ #if LLVM_VERSION_GE(18, 0)
564+ return CodeGenFileType::AssemblyFile;
565+ #else
557566 return CGFT_AssemblyFile;
567+ #endif
558568 case LLVMRustFileType::ObjectFile:
569+ #if LLVM_VERSION_GE(18, 0)
570+ return CodeGenFileType::ObjectFile;
571+ #else
559572 return CGFT_ObjectFile;
573+ #endif
560574 default :
561575 report_fatal_error (" Bad FileType." );
562576 }
0 commit comments