about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/tools/miri/cargo-miri/src/phases.rs3
-rw-r--r--src/tools/miri/cargo-miri/src/setup.rs8
2 files changed, 8 insertions, 3 deletions
diff --git a/src/tools/miri/cargo-miri/src/phases.rs b/src/tools/miri/cargo-miri/src/phases.rs
index b774ca8fa72..6a3b6f68a7e 100644
--- a/src/tools/miri/cargo-miri/src/phases.rs
+++ b/src/tools/miri/cargo-miri/src/phases.rs
@@ -87,6 +87,7 @@ pub fn phase_cargo_miri(mut args: impl Iterator<Item = String>) {
             ),
     };
     let verbose = num_arg_flag("-v");
+    let quiet = has_arg_flag("-q") || has_arg_flag("--quiet");
 
     // Determine the involved architectures.
     let rustc_version = VersionMeta::for_command(miri_for_host()).unwrap_or_else(|err| {
@@ -110,7 +111,7 @@ pub fn phase_cargo_miri(mut args: impl Iterator<Item = String>) {
     }
 
     // We always setup.
-    let miri_sysroot = setup(&subcommand, target, &rustc_version, verbose);
+    let miri_sysroot = setup(&subcommand, target, &rustc_version, verbose, quiet);
 
     // Invoke actual cargo for the job, but with different flags.
     // We re-use `cargo test` and `cargo run`, which makes target and binary handling very easy but
diff --git a/src/tools/miri/cargo-miri/src/setup.rs b/src/tools/miri/cargo-miri/src/setup.rs
index 401e9158fae..9a58e6fa018 100644
--- a/src/tools/miri/cargo-miri/src/setup.rs
+++ b/src/tools/miri/cargo-miri/src/setup.rs
@@ -19,6 +19,7 @@ pub fn setup(
     target: &str,
     rustc_version: &VersionMeta,
     verbose: usize,
+    quiet: bool,
 ) -> PathBuf {
     let only_setup = matches!(subcommand, MiriCommand::Setup);
     let ask_user = !only_setup;
@@ -119,6 +120,9 @@ pub fn setup(
             for _ in 0..verbose {
                 command.arg("-v");
             }
+            if quiet {
+                command.arg("--quiet");
+            }
         } else {
             // Suppress output.
             command.stdout(process::Stdio::null());
@@ -134,7 +138,7 @@ pub fn setup(
     let rustflags = &["-Cdebug-assertions=off", "-Coverflow-checks=on"];
 
     // Do the build.
-    if print_sysroot {
+    if print_sysroot || quiet {
         // Be silent.
     } else {
         let mut msg = String::new();
@@ -169,7 +173,7 @@ pub fn setup(
                 )
             }
         });
-    if print_sysroot {
+    if print_sysroot || quiet {
         // Be silent.
     } else if only_setup {
         eprintln!("A sysroot for Miri is now available in `{}`.", sysroot_dir.display());