First pass integrated new mode bits

This commit is contained in:
James Wilson
2025-08-08 10:59:49 +01:00
parent 2d01045ad2
commit cfbb5eefff
3 changed files with 15 additions and 115 deletions
+5 -4
View File
@@ -34,7 +34,7 @@ use revive_dt_format::{
corpus::Corpus,
input::Input,
metadata::{ContractInstance, ContractPathAndIdent, Metadata, MetadataFile},
mode::Mode,
mode::{Mode, ModePipeline, ModeOptimizerSetting},
};
use revive_dt_node::pool::NodePool;
use revive_dt_report::reporter::{Report, Span};
@@ -145,7 +145,7 @@ where
.enumerate()
.flat_map(move |(case_idx, case)| {
metadata
.test_modes()
.solc_modes()
.into_iter()
.map(move |solc_mode| (path, metadata, case_idx, case, solc_mode))
})
@@ -356,7 +356,7 @@ async fn handle_case_driver<'a, L, F>(
metadata: &'a Metadata,
case_idx: CaseIdx,
case: &Case,
mode: SolcMode,
mode: Mode,
config: &Arguments,
compilation_cache: CompilationCache<'a>,
leader_node: &L::Blockchain,
@@ -661,7 +661,8 @@ async fn compile_contracts<P: Platform>(
let compiler = Compiler::<P::Compiler>::new()
.with_allow_path(metadata.directory()?)
.with_optimization(mode.solc_optimize());
.with_optimization(mode.optimize_setting != ModeOptimizerSetting::M0)
.with_via_ir(mode.pipeline == ModePipeline::Y);
let mut compiler = metadata
.files_to_compile()?
.try_fold(compiler, |compiler, path| compiler.with_source(&path))?;