diff --git a/compiler/rustc_driver_impl/src/lib.rs b/compiler/rustc_driver_impl/src/lib.rs index 2bd58680eef53..cb1f51d1ffccc 100644 --- a/compiler/rustc_driver_impl/src/lib.rs +++ b/compiler/rustc_driver_impl/src/lib.rs @@ -734,6 +734,7 @@ fn print_crate_info( targets.sort_unstable(); println_info!("{}", targets.join("\n")); } + HostTriple => println_info!("{}", rustc_session::config::host_triple()), Sysroot => println_info!("{}", sess.sysroot.display()), TargetLibdir => println_info!("{}", sess.target_tlib_path.dir.display()), TargetSpec => { diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs index c90da966e7081..794474b17400f 100644 --- a/compiler/rustc_session/src/config.rs +++ b/compiler/rustc_session/src/config.rs @@ -769,6 +769,7 @@ pub struct PrintRequest { #[derive(Copy, Clone, PartialEq, Eq, Debug)] pub enum PrintKind { FileNames, + HostTriple, Sysroot, TargetLibdir, CrateName, @@ -1863,6 +1864,7 @@ fn collect_print_requests( ("crate-name", PrintKind::CrateName), ("deployment-target", PrintKind::DeploymentTarget), ("file-names", PrintKind::FileNames), + ("host-triple", PrintKind::HostTriple), ("link-args", PrintKind::LinkArgs), ("native-static-libs", PrintKind::NativeStaticLibs), ("relocation-models", PrintKind::RelocationModels), diff --git a/tests/ui/invalid-compile-flags/print.stderr b/tests/ui/invalid-compile-flags/print.stderr index 0a032aabdfe8a..76fb3b2fe0ff4 100644 --- a/tests/ui/invalid-compile-flags/print.stderr +++ b/tests/ui/invalid-compile-flags/print.stderr @@ -1,4 +1,4 @@ error: unknown print request: `yyyy` | - = help: valid print requests are: `all-target-specs-json`, `calling-conventions`, `cfg`, `code-models`, `crate-name`, `deployment-target`, `file-names`, `link-args`, `native-static-libs`, `relocation-models`, `split-debuginfo`, `stack-protector-strategies`, `sysroot`, `target-cpus`, `target-features`, `target-libdir`, `target-list`, `target-spec-json`, `tls-models` + = help: valid print requests are: `all-target-specs-json`, `calling-conventions`, `cfg`, `code-models`, `crate-name`, `deployment-target`, `file-names`, `host-triple`, `link-args`, `native-static-libs`, `relocation-models`, `split-debuginfo`, `stack-protector-strategies`, `sysroot`, `target-cpus`, `target-features`, `target-libdir`, `target-list`, `target-spec-json`, `tls-models` diff --git a/tests/ui/print-request/host.rs b/tests/ui/print-request/host.rs new file mode 100644 index 0000000000000..642a65f3f4a86 --- /dev/null +++ b/tests/ui/print-request/host.rs @@ -0,0 +1,5 @@ +//@ only-x86_64-unknown-linux-gnu +//@ compile-flags: --print host-triple +//@ check-pass + +fn main() {} diff --git a/tests/ui/print-request/host.stdout b/tests/ui/print-request/host.stdout new file mode 100644 index 0000000000000..21696ec3a0c4f --- /dev/null +++ b/tests/ui/print-request/host.stdout @@ -0,0 +1 @@ +x86_64-unknown-linux-gnu diff --git a/tests/ui/deployment-target/invalid-target.rs b/tests/ui/print-request/invalid-target.rs similarity index 100% rename from tests/ui/deployment-target/invalid-target.rs rename to tests/ui/print-request/invalid-target.rs diff --git a/tests/ui/deployment-target/invalid-target.stderr b/tests/ui/print-request/invalid-target.stderr similarity index 100% rename from tests/ui/deployment-target/invalid-target.stderr rename to tests/ui/print-request/invalid-target.stderr diff --git a/tests/ui/print-request/macos-target.rs b/tests/ui/print-request/macos-target.rs new file mode 100644 index 0000000000000..be2c32e28141b --- /dev/null +++ b/tests/ui/print-request/macos-target.rs @@ -0,0 +1,7 @@ +//@ only-macos +//@ compile-flags: --print deployment-target +//@ normalize-stdout-test: "\d+\." -> "$$CURRENT_MAJOR_VERSION." +//@ normalize-stdout-test: "\d+" -> "$$CURRENT_MINOR_VERSION" +//@ check-pass + +fn main() {} diff --git a/tests/ui/deployment-target/macos-target.stdout b/tests/ui/print-request/macos-target.stdout similarity index 100% rename from tests/ui/deployment-target/macos-target.stdout rename to tests/ui/print-request/macos-target.stdout