about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-07-10 00:10:53 +0000
committerbors <bors@rust-lang.org>2023-07-10 00:10:53 +0000
commit02d1ee48349853e914dc50402e053b0c6bfb80be (patch)
treecc2cf37a33e5704b488001b6695b7adb1f6c2010
parent70d7283d24ed2d664fc4cefad6f240aeb62e98f2 (diff)
parent1faa95d289769038dda0f8a844edaef56f2576f0 (diff)
downloadrust-02d1ee48349853e914dc50402e053b0c6bfb80be.tar.gz
rust-02d1ee48349853e914dc50402e053b0c6bfb80be.zip
Auto merge of #113127 - jieyouxu:fix-error-color-summary, r=davidtwco
Set error handler output format as soon as possible

Should fix https://github.com/rust-lang/rust/pull/112692#issuecomment-1611585904.
-rw-r--r--compiler/rustc_session/src/config.rs2
-rw-r--r--tests/ui/conditional-compilation/cfg-arg-invalid-1.rs2
-rw-r--r--tests/ui/conditional-compilation/cfg-arg-invalid-2.rs2
-rw-r--r--tests/ui/conditional-compilation/cfg-arg-invalid-4.rs2
-rw-r--r--tests/ui/conditional-compilation/cfg-arg-invalid-6.rs2
-rw-r--r--tests/ui/conditional-compilation/cfg-arg-invalid-8.rs2
-rw-r--r--tests/ui/conditional-compilation/cfg-arg-invalid-9.rs2
-rw-r--r--tests/ui/conditional-compilation/cfg-empty-codemap.rs2
-rw-r--r--tests/ui/diagnostic-flags/colored-session-opt-error.rs4
-rw-r--r--tests/ui/diagnostic-flags/colored-session-opt-error.stderr2
10 files changed, 15 insertions, 7 deletions
diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs
index f97cb3440d2..593983f117d 100644
--- a/compiler/rustc_session/src/config.rs
+++ b/compiler/rustc_session/src/config.rs
@@ -2524,6 +2524,8 @@ pub fn build_session_options(
 
     let error_format = parse_error_format(handler, matches, color, json_rendered);
 
+    handler.abort_if_error_and_set_error_format(error_format);
+
     let diagnostic_width = matches.opt_get("diagnostic-width").unwrap_or_else(|_| {
         handler.early_error("`--diagnostic-width` must be an positive integer");
     });
diff --git a/tests/ui/conditional-compilation/cfg-arg-invalid-1.rs b/tests/ui/conditional-compilation/cfg-arg-invalid-1.rs
index d20e79b9db3..0898ca9cda4 100644
--- a/tests/ui/conditional-compilation/cfg-arg-invalid-1.rs
+++ b/tests/ui/conditional-compilation/cfg-arg-invalid-1.rs
@@ -1,3 +1,3 @@
-// compile-flags: --cfg a(b=c)
+// compile-flags: --error-format=human --cfg a(b=c)
 // error-pattern: invalid `--cfg` argument: `a(b=c)` (expected `key` or `key="value"`, ensure escaping is appropriate for your shell, try 'key="value"' or key=\"value\")
 fn main() {}
diff --git a/tests/ui/conditional-compilation/cfg-arg-invalid-2.rs b/tests/ui/conditional-compilation/cfg-arg-invalid-2.rs
index 48d656a4a28..70e42560066 100644
--- a/tests/ui/conditional-compilation/cfg-arg-invalid-2.rs
+++ b/tests/ui/conditional-compilation/cfg-arg-invalid-2.rs
@@ -1,3 +1,3 @@
-// compile-flags: --cfg a{b}
+// compile-flags: --error-format=human --cfg a{b}
 // error-pattern: invalid `--cfg` argument: `a{b}` (expected `key` or `key="value"`)
 fn main() {}
diff --git a/tests/ui/conditional-compilation/cfg-arg-invalid-4.rs b/tests/ui/conditional-compilation/cfg-arg-invalid-4.rs
index e7dfa17b4b6..2adc27eb932 100644
--- a/tests/ui/conditional-compilation/cfg-arg-invalid-4.rs
+++ b/tests/ui/conditional-compilation/cfg-arg-invalid-4.rs
@@ -1,3 +1,3 @@
-// compile-flags: --cfg a(b)
+// compile-flags: --error-format=human --cfg a(b)
 // error-pattern: invalid `--cfg` argument: `a(b)` (expected `key` or `key="value"`)
 fn main() {}
diff --git a/tests/ui/conditional-compilation/cfg-arg-invalid-6.rs b/tests/ui/conditional-compilation/cfg-arg-invalid-6.rs
index 9fa726f93e3..be3ded7dd8b 100644
--- a/tests/ui/conditional-compilation/cfg-arg-invalid-6.rs
+++ b/tests/ui/conditional-compilation/cfg-arg-invalid-6.rs
@@ -1,3 +1,3 @@
-// compile-flags: --cfg a{
+// compile-flags: --error-format=human --cfg a{
 // error-pattern: invalid `--cfg` argument: `a{` (expected `key` or `key="value"`)
 fn main() {}
diff --git a/tests/ui/conditional-compilation/cfg-arg-invalid-8.rs b/tests/ui/conditional-compilation/cfg-arg-invalid-8.rs
index 1d7fa788534..4a2f16f1133 100644
--- a/tests/ui/conditional-compilation/cfg-arg-invalid-8.rs
+++ b/tests/ui/conditional-compilation/cfg-arg-invalid-8.rs
@@ -1,3 +1,3 @@
-// compile-flags: --cfg )
+// compile-flags: --error-format=human --cfg )
 // error-pattern: invalid `--cfg` argument: `)` (expected `key` or `key="value"`)
 fn main() {}
diff --git a/tests/ui/conditional-compilation/cfg-arg-invalid-9.rs b/tests/ui/conditional-compilation/cfg-arg-invalid-9.rs
index 628b335c873..a61989a3e9f 100644
--- a/tests/ui/conditional-compilation/cfg-arg-invalid-9.rs
+++ b/tests/ui/conditional-compilation/cfg-arg-invalid-9.rs
@@ -1,4 +1,4 @@
 // Test for missing quotes around value, issue #66450.
-// compile-flags: --cfg key=value
+// compile-flags: --error-format=human --cfg key=value
 // error-pattern: invalid `--cfg` argument: `key=value` (expected `key` or `key="value"`, ensure escaping is appropriate for your shell, try 'key="value"' or key=\"value\")
 fn main() {}
diff --git a/tests/ui/conditional-compilation/cfg-empty-codemap.rs b/tests/ui/conditional-compilation/cfg-empty-codemap.rs
index 9e34cacf74d..c7aded7338a 100644
--- a/tests/ui/conditional-compilation/cfg-empty-codemap.rs
+++ b/tests/ui/conditional-compilation/cfg-empty-codemap.rs
@@ -1,6 +1,6 @@
 // Tests that empty source_maps don't ICE (#23301)
 
-// compile-flags: --cfg ""
+// compile-flags: --error-format=human --cfg ""
 
 // error-pattern: invalid `--cfg` argument: `""` (expected `key` or `key="value"`)
 
diff --git a/tests/ui/diagnostic-flags/colored-session-opt-error.rs b/tests/ui/diagnostic-flags/colored-session-opt-error.rs
new file mode 100644
index 00000000000..b9f47285c14
--- /dev/null
+++ b/tests/ui/diagnostic-flags/colored-session-opt-error.rs
@@ -0,0 +1,4 @@
+// check-pass
+// ignore-windows
+// compile-flags: -Cremark=foo --error-format=human --color always
+fn main() {}
diff --git a/tests/ui/diagnostic-flags/colored-session-opt-error.stderr b/tests/ui/diagnostic-flags/colored-session-opt-error.stderr
new file mode 100644
index 00000000000..ef79d5b0f2f
--- /dev/null
+++ b/tests/ui/diagnostic-flags/colored-session-opt-error.stderr
@@ -0,0 +1,2 @@
+warning: -C remark requires "-C debuginfo=n" to show source locations
+