Auto merge of #118442 - tmiasko:fuel-inc, r=lqd
-Zfuel is incompatible with incremental compilation
This commit is contained in:
commit
d6fa38a9b2
@ -2121,16 +2121,6 @@ fn should_override_cgus_and_disable_thinlto(
|
||||
(disable_local_thinlto, codegen_units)
|
||||
}
|
||||
|
||||
fn check_thread_count(handler: &EarlyErrorHandler, unstable_opts: &UnstableOptions) {
|
||||
if unstable_opts.threads == 0 {
|
||||
handler.early_error("value for threads must be a positive non-zero integer");
|
||||
}
|
||||
|
||||
if unstable_opts.threads > 1 && unstable_opts.fuel.is_some() {
|
||||
handler.early_error("optimization fuel is incompatible with multiple threads");
|
||||
}
|
||||
}
|
||||
|
||||
fn collect_print_requests(
|
||||
handler: &EarlyErrorHandler,
|
||||
cg: &mut CodegenOptions,
|
||||
@ -2646,7 +2636,17 @@ pub fn build_session_options(
|
||||
let (disable_local_thinlto, mut codegen_units) =
|
||||
should_override_cgus_and_disable_thinlto(handler, &output_types, matches, cg.codegen_units);
|
||||
|
||||
check_thread_count(handler, &unstable_opts);
|
||||
if unstable_opts.threads == 0 {
|
||||
handler.early_error("value for threads must be a positive non-zero integer");
|
||||
}
|
||||
|
||||
let fuel = unstable_opts.fuel.is_some() || unstable_opts.print_fuel.is_some();
|
||||
if fuel && unstable_opts.threads > 1 {
|
||||
handler.early_error("optimization fuel is incompatible with multiple threads");
|
||||
}
|
||||
if fuel && cg.incremental.is_some() {
|
||||
handler.early_error("optimization fuel is incompatible with incremental compilation");
|
||||
}
|
||||
|
||||
let incremental = cg.incremental.as_ref().map(PathBuf::from);
|
||||
|
||||
|
11
tests/ui/invalid-compile-flags/fuel.rs
Normal file
11
tests/ui/invalid-compile-flags/fuel.rs
Normal file
@ -0,0 +1,11 @@
|
||||
// revisions: incremental threads
|
||||
// dont-check-compiler-stderr
|
||||
//
|
||||
// [threads] compile-flags: -Zfuel=a=1 -Zthreads=2
|
||||
// [threads] error-pattern:optimization fuel is incompatible with multiple threads
|
||||
//
|
||||
// [incremental] incremental
|
||||
// [incremental] compile-flags: -Zprint-fuel=a
|
||||
// [incremental] error-pattern:optimization fuel is incompatible with incremental compilation
|
||||
|
||||
fn main() {}
|
Loading…
Reference in New Issue
Block a user