about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-08-06 00:04:52 +0000
committerbors <bors@rust-lang.org>2023-08-06 00:04:52 +0000
commit8236f63aba889be5ef9b42c86b3e73c8b877b6af (patch)
tree32650bf92eb342016c981ebd0b09234a10c48072
parenteb088b8b9d98f1af1b0e61bbdcd8686e1b0db7b6 (diff)
parent8229d8e251bf365a1073decd334465045d81b47e (diff)
downloadrust-8236f63aba889be5ef9b42c86b3e73c8b877b6af.tar.gz
rust-8236f63aba889be5ef9b42c86b3e73c8b877b6af.zip
Auto merge of #114476 - Urgau:missing-dep-file-112898, r=oli-obk
Fix missing dependency file with `-Zunpretty`

This PR force the `output_filenames` to be run ~~in every early exits like~~ when using `-Zunpretty`, so to respect the `dep-info` flag.

Fixes https://github.com/rust-lang/rust/issues/112898
r? `@oli-obk`
-rw-r--r--compiler/rustc_driver_impl/src/lib.rs4
-rw-r--r--tests/run-make/pretty-print-with-dep-file/Makefile9
-rw-r--r--tests/run-make/pretty-print-with-dep-file/with-dep.rs1
3 files changed, 14 insertions, 0 deletions
diff --git a/compiler/rustc_driver_impl/src/lib.rs b/compiler/rustc_driver_impl/src/lib.rs
index d4532873854..60dc9b20077 100644
--- a/compiler/rustc_driver_impl/src/lib.rs
+++ b/compiler/rustc_driver_impl/src/lib.rs
@@ -391,6 +391,10 @@ fn run_compiler(
                         pretty::print_after_hir_lowering(tcx, *ppm);
                         Ok(())
                     })?;
+
+                    // Make sure the `output_filenames` query is run for its side
+                    // effects of writing the dep-info and reporting errors.
+                    queries.global_ctxt()?.enter(|tcx| tcx.output_filenames(()));
                 } else {
                     let krate = queries.parse()?.steal();
                     pretty::print_after_parsing(sess, &krate, *ppm);
diff --git a/tests/run-make/pretty-print-with-dep-file/Makefile b/tests/run-make/pretty-print-with-dep-file/Makefile
new file mode 100644
index 00000000000..fa8089eb6a5
--- /dev/null
+++ b/tests/run-make/pretty-print-with-dep-file/Makefile
@@ -0,0 +1,9 @@
+include ../tools.mk
+
+all:
+	$(RUSTC) --emit=dep-info -Zunpretty=expanded with-dep.rs
+	$(CGREP) "with-dep.rs" < $(TMPDIR)/with-dep.d
+	-rm $(TMPDIR)/with-dep.d
+
+	$(RUSTC) --emit=dep-info -Zunpretty=normal with-dep.rs
+	! test -f $(TMPDIR)/with-dep.d
diff --git a/tests/run-make/pretty-print-with-dep-file/with-dep.rs b/tests/run-make/pretty-print-with-dep-file/with-dep.rs
new file mode 100644
index 00000000000..f328e4d9d04
--- /dev/null
+++ b/tests/run-make/pretty-print-with-dep-file/with-dep.rs
@@ -0,0 +1 @@
+fn main() {}