diff --git a/cpp/src/gandiva/engine.cc b/cpp/src/gandiva/engine.cc index 7d5fafce55623..59a7fc912df50 100644 --- a/cpp/src/gandiva/engine.cc +++ b/cpp/src/gandiva/engine.cc @@ -180,8 +180,13 @@ Status Engine::Make(const std::shared_ptr& conf, bool cached, // original Module. auto module_ptr = module.get(); - auto opt_level = - conf->optimize() ? llvm::CodeGenOpt::Aggressive : llvm::CodeGenOpt::None; +#if LLVM_VERSION_MAJOR >= 18 + using CodeGenOptLevel = llvm::CodeGenOptLevel; +#else + using CodeGenOptLevel = llvm::CodeGenOpt::Level; +#endif + auto const opt_level = + conf->optimize() ? CodeGenOptLevel::Aggressive : CodeGenOptLevel::None; // Note that the lifetime of the error string is not captured by the // ExecutionEngine but only for the lifetime of the builder. Found by