From 03be3e21b1e259b24859b8f00f5280e56bd0b254 Mon Sep 17 00:00:00 2001 From: hi-rustin Date: Sun, 28 Nov 2021 15:12:56 +0800 Subject: Add --out-dir flag for rustdoc Signed-off-by: hi-rustin --- src/doc/rustdoc/src/command-line-arguments.md | 4 ++-- src/librustdoc/config.rs | 14 ++++++++++++-- src/librustdoc/lib.rs | 11 ++++++++++- src/test/run-make/rustdoc-with-out-dir-option/Makefile | 8 ++++++++ src/test/run-make/rustdoc-with-out-dir-option/src/lib.rs | 2 ++ src/test/run-make/rustdoc-with-output-option/Makefile | 8 ++++++++ src/test/run-make/rustdoc-with-output-option/src/lib.rs | 2 ++ .../run-make/rustdoc-with-short-out-dir-option/Makefile | 8 ++++++++ .../run-make/rustdoc-with-short-out-dir-option/src/lib.rs | 2 ++ src/test/rustdoc-ui/use_both_out_dir_and_output_options.rs | 1 + .../rustdoc-ui/use_both_out_dir_and_output_options.stderr | 2 ++ 11 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 src/test/run-make/rustdoc-with-out-dir-option/Makefile create mode 100644 src/test/run-make/rustdoc-with-out-dir-option/src/lib.rs create mode 100644 src/test/run-make/rustdoc-with-output-option/Makefile create mode 100644 src/test/run-make/rustdoc-with-output-option/src/lib.rs create mode 100644 src/test/run-make/rustdoc-with-short-out-dir-option/Makefile create mode 100644 src/test/run-make/rustdoc-with-short-out-dir-option/src/lib.rs create mode 100644 src/test/rustdoc-ui/use_both_out_dir_and_output_options.rs create mode 100644 src/test/rustdoc-ui/use_both_out_dir_and_output_options.stderr (limited to 'src') diff --git a/src/doc/rustdoc/src/command-line-arguments.md b/src/doc/rustdoc/src/command-line-arguments.md index d6948622662..9de2e733de7 100644 --- a/src/doc/rustdoc/src/command-line-arguments.md +++ b/src/doc/rustdoc/src/command-line-arguments.md @@ -57,13 +57,13 @@ release: 1.17.0 LLVM version: 3.9 ``` -## `-o`/`--output`: output path +## `-o`/`--out-dir`: output directory path Using this flag looks like this: ```bash $ rustdoc src/lib.rs -o target/doc -$ rustdoc src/lib.rs --output target/doc +$ rustdoc src/lib.rs --out-dir target/doc ``` By default, `rustdoc`'s output appears in a directory named `doc` in diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs index 04bcade156a..ee19567be10 100644 --- a/src/librustdoc/config.rs +++ b/src/librustdoc/config.rs @@ -504,8 +504,18 @@ impl Options { return Err(1); } - let output = - matches.opt_str("o").map(|s| PathBuf::from(&s)).unwrap_or_else(|| PathBuf::from("doc")); + let out_dir = matches.opt_str("out-dir").map(|s| PathBuf::from(&s)); + let output = matches.opt_str("output").map(|s| PathBuf::from(&s)); + let output = match (out_dir, output) { + (Some(_), Some(_)) => { + diag.struct_err("cannot use both 'out-dir' and 'output' at once").emit(); + return Err(1); + } + (Some(out_dir), None) => out_dir, + (None, Some(output)) => output, + (None, None) => PathBuf::from("doc"), + }; + let cfgs = matches.opt_strs("cfg"); let extension_css = matches.opt_str("e").map(|s| PathBuf::from(&s)); diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index b6311abb5c3..8699ab20b19 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -278,7 +278,16 @@ fn opts() -> Vec { o.optopt("r", "input-format", "the input type of the specified file", "[rust]") }), stable("w", |o| o.optopt("w", "output-format", "the output type to write", "[html]")), - stable("o", |o| o.optopt("o", "output", "where to place the output", "PATH")), + stable("output", |o| { + o.optopt( + "", + "output", + "Which directory to place the output. \ + This option is deprecated, use --out-dir instead.", + "PATH", + ) + }), + stable("o", |o| o.optopt("o", "out-dir", "which directory to place the output", "PATH")), stable("crate-name", |o| { o.optopt("", "crate-name", "specify the name of this crate", "NAME") }), diff --git a/src/test/run-make/rustdoc-with-out-dir-option/Makefile b/src/test/run-make/rustdoc-with-out-dir-option/Makefile new file mode 100644 index 00000000000..f79fce8eeea --- /dev/null +++ b/src/test/run-make/rustdoc-with-out-dir-option/Makefile @@ -0,0 +1,8 @@ +-include ../../run-make-fulldeps/tools.mk + +OUTPUT_DIR := "$(TMPDIR)/rustdoc" + +all: + $(RUSTDOC) src/lib.rs --crate-name foobar --crate-type lib --out-dir $(OUTPUT_DIR) + + $(HTMLDOCCK) $(OUTPUT_DIR) src/lib.rs diff --git a/src/test/run-make/rustdoc-with-out-dir-option/src/lib.rs b/src/test/run-make/rustdoc-with-out-dir-option/src/lib.rs new file mode 100644 index 00000000000..044bb6acb19 --- /dev/null +++ b/src/test/run-make/rustdoc-with-out-dir-option/src/lib.rs @@ -0,0 +1,2 @@ +// @has foobar/fn.ok.html +pub fn ok() {} diff --git a/src/test/run-make/rustdoc-with-output-option/Makefile b/src/test/run-make/rustdoc-with-output-option/Makefile new file mode 100644 index 00000000000..654f9672588 --- /dev/null +++ b/src/test/run-make/rustdoc-with-output-option/Makefile @@ -0,0 +1,8 @@ +-include ../../run-make-fulldeps/tools.mk + +OUTPUT_DIR := "$(TMPDIR)/rustdoc" + +all: + $(RUSTDOC) src/lib.rs --crate-name foobar --crate-type lib --output $(OUTPUT_DIR) + + $(HTMLDOCCK) $(OUTPUT_DIR) src/lib.rs diff --git a/src/test/run-make/rustdoc-with-output-option/src/lib.rs b/src/test/run-make/rustdoc-with-output-option/src/lib.rs new file mode 100644 index 00000000000..044bb6acb19 --- /dev/null +++ b/src/test/run-make/rustdoc-with-output-option/src/lib.rs @@ -0,0 +1,2 @@ +// @has foobar/fn.ok.html +pub fn ok() {} diff --git a/src/test/run-make/rustdoc-with-short-out-dir-option/Makefile b/src/test/run-make/rustdoc-with-short-out-dir-option/Makefile new file mode 100644 index 00000000000..1e9ba71de26 --- /dev/null +++ b/src/test/run-make/rustdoc-with-short-out-dir-option/Makefile @@ -0,0 +1,8 @@ +-include ../../run-make-fulldeps/tools.mk + +OUTPUT_DIR := "$(TMPDIR)/rustdoc" + +all: + $(RUSTDOC) src/lib.rs --crate-name foobar --crate-type lib -o $(OUTPUT_DIR) + + $(HTMLDOCCK) $(OUTPUT_DIR) src/lib.rs diff --git a/src/test/run-make/rustdoc-with-short-out-dir-option/src/lib.rs b/src/test/run-make/rustdoc-with-short-out-dir-option/src/lib.rs new file mode 100644 index 00000000000..044bb6acb19 --- /dev/null +++ b/src/test/run-make/rustdoc-with-short-out-dir-option/src/lib.rs @@ -0,0 +1,2 @@ +// @has foobar/fn.ok.html +pub fn ok() {} diff --git a/src/test/rustdoc-ui/use_both_out_dir_and_output_options.rs b/src/test/rustdoc-ui/use_both_out_dir_and_output_options.rs new file mode 100644 index 00000000000..5037043f19a --- /dev/null +++ b/src/test/rustdoc-ui/use_both_out_dir_and_output_options.rs @@ -0,0 +1 @@ +// compile-flags: --output ./foo diff --git a/src/test/rustdoc-ui/use_both_out_dir_and_output_options.stderr b/src/test/rustdoc-ui/use_both_out_dir_and_output_options.stderr new file mode 100644 index 00000000000..96d2295ac3e --- /dev/null +++ b/src/test/rustdoc-ui/use_both_out_dir_and_output_options.stderr @@ -0,0 +1,2 @@ +error: cannot use both 'out-dir' and 'output' at once + -- cgit 1.4.1-3-g733a5 From ea68758299a89556e67f0bfffffb19c0c8346e8a Mon Sep 17 00:00:00 2001 From: David Koloski Date: Fri, 3 Dec 2021 15:32:51 +0000 Subject: Add needs-unwind to tests that depend on panicking This directive isn't automatically set by compiletest or x.py, but can be turned on manually for targets that require it. --- src/test/ui/array-slice-vec/box-of-array-of-drop-1.rs | 1 + src/test/ui/array-slice-vec/box-of-array-of-drop-2.rs | 1 + src/test/ui/array-slice-vec/nested-vec-3.rs | 1 + src/test/ui/array-slice-vec/slice-panic-1.rs | 1 + src/test/ui/array-slice-vec/slice-panic-2.rs | 1 + .../issues/issue-65419/issue-65419-async-fn-resume-after-panic.rs | 1 + src/test/ui/binding/fn-arg-incomplete-pattern-drop-order.rs | 1 + src/test/ui/builtin-clone-unwind.rs | 1 + src/test/ui/catch-unwind-bang.rs | 1 + src/test/ui/cleanup-rvalue-temp-during-incomplete-alloc.rs | 1 + .../2229_closure_analysis/migrations/mir_calls_to_shims.fixed | 1 + .../closures/2229_closure_analysis/migrations/mir_calls_to_shims.rs | 1 + .../2229_closure_analysis/migrations/mir_calls_to_shims.stderr | 4 ++-- src/test/ui/drop/drop-trait-enum.rs | 1 + src/test/ui/drop/dynamic-drop-async.rs | 1 + src/test/ui/drop/dynamic-drop.rs | 1 + src/test/ui/drop/terminate-in-initializer.rs | 1 + .../ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs | 1 + src/test/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs | 1 + src/test/ui/generator/generator-resume-after-panic.rs | 1 + src/test/ui/generator/panic-drops-resume.rs | 1 + src/test/ui/generator/panic-drops.rs | 1 + src/test/ui/generator/panic-safe.rs | 1 + src/test/ui/generator/resume-after-return.rs | 1 + src/test/ui/intrinsics/panic-uninitialized-zeroed.rs | 1 + src/test/ui/issues/issue-14875.rs | 1 + src/test/ui/issues/issue-25089.rs | 1 + src/test/ui/issues/issue-26655.rs | 1 + src/test/ui/issues/issue-29485.rs | 1 + src/test/ui/issues/issue-29948.rs | 1 + src/test/ui/issues/issue-30018-panic.rs | 1 + src/test/ui/issues/issue-43853.rs | 1 + src/test/ui/issues/issue-46519.rs | 1 + src/test/ui/iterators/iter-count-overflow-debug.rs | 1 + src/test/ui/iterators/iter-position-overflow-debug.rs | 1 + src/test/ui/iterators/iter-step-overflow-debug.rs | 1 + src/test/ui/iterators/iter-sum-overflow-debug.rs | 1 + src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs | 1 + src/test/ui/macros/macro-comma-behavior-rpass.rs | 1 + src/test/ui/mir/mir_calls_to_shims.rs | 1 + src/test/ui/mir/mir_drop_order.rs | 1 + src/test/ui/mir/mir_drop_panics.rs | 1 + src/test/ui/mir/mir_dynamic_drops_3.rs | 1 + src/test/ui/numbers-arithmetic/int-abs-overflow.rs | 1 + src/test/ui/numbers-arithmetic/next-power-of-two-overflow-debug.rs | 1 + src/test/ui/panics/panic-handler-chain.rs | 1 + src/test/ui/panics/panic-handler-flail-wildly.rs | 1 + src/test/ui/panics/panic-handler-set-twice.rs | 1 + src/test/ui/panics/panic-in-dtor-drops-fields.rs | 1 + src/test/ui/panics/panic-recover-propagate.rs | 1 + src/test/ui/privacy/reachable-unnameable-items.rs | 1 + src/test/ui/proc-macro/expand-with-a-macro.rs | 1 + src/test/ui/rfc-1937-termination-trait/termination-trait-in-test.rs | 1 + src/test/ui/rfc-2091-track-caller/std-panic-locations.rs | 1 + src/test/ui/rfcs/rfc1857-drop-order.rs | 1 + src/test/ui/runtime/rt-explody-panic-payloads.rs | 1 + src/test/ui/sepcomp/sepcomp-unwind.rs | 1 + src/test/ui/structs-enums/unit-like-struct-drop-run.rs | 1 + src/test/ui/test-attrs/test-should-fail-good-message.rs | 1 + src/test/ui/threads-sendsync/task-stderr.rs | 1 + src/test/ui/threads-sendsync/unwind-resource.rs | 1 + src/test/ui/unwind-unique.rs | 1 + 62 files changed, 63 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/test/ui/array-slice-vec/box-of-array-of-drop-1.rs b/src/test/ui/array-slice-vec/box-of-array-of-drop-1.rs index c8559d24728..2b3ece67b34 100644 --- a/src/test/ui/array-slice-vec/box-of-array-of-drop-1.rs +++ b/src/test/ui/array-slice-vec/box-of-array-of-drop-1.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(overflowing_literals)] // Test that we cleanup a fixed size Box<[D; k]> properly when D has a diff --git a/src/test/ui/array-slice-vec/box-of-array-of-drop-2.rs b/src/test/ui/array-slice-vec/box-of-array-of-drop-2.rs index e75051caabc..c0ca4587507 100644 --- a/src/test/ui/array-slice-vec/box-of-array-of-drop-2.rs +++ b/src/test/ui/array-slice-vec/box-of-array-of-drop-2.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(overflowing_literals)] // Test that we cleanup dynamic sized Box<[D]> properly when D has a diff --git a/src/test/ui/array-slice-vec/nested-vec-3.rs b/src/test/ui/array-slice-vec/nested-vec-3.rs index 96497a53d30..b3ae683a8a6 100644 --- a/src/test/ui/array-slice-vec/nested-vec-3.rs +++ b/src/test/ui/array-slice-vec/nested-vec-3.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(overflowing_literals)] // ignore-emscripten no threads support diff --git a/src/test/ui/array-slice-vec/slice-panic-1.rs b/src/test/ui/array-slice-vec/slice-panic-1.rs index 4134c623778..3829078aba5 100644 --- a/src/test/ui/array-slice-vec/slice-panic-1.rs +++ b/src/test/ui/array-slice-vec/slice-panic-1.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-emscripten no threads support diff --git a/src/test/ui/array-slice-vec/slice-panic-2.rs b/src/test/ui/array-slice-vec/slice-panic-2.rs index 2f7178fb3e1..d83c611d3bb 100644 --- a/src/test/ui/array-slice-vec/slice-panic-2.rs +++ b/src/test/ui/array-slice-vec/slice-panic-2.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-emscripten no threads support diff --git a/src/test/ui/async-await/issues/issue-65419/issue-65419-async-fn-resume-after-panic.rs b/src/test/ui/async-await/issues/issue-65419/issue-65419-async-fn-resume-after-panic.rs index f8caebcb876..5e71229beb5 100644 --- a/src/test/ui/async-await/issues/issue-65419/issue-65419-async-fn-resume-after-panic.rs +++ b/src/test/ui/async-await/issues/issue-65419/issue-65419-async-fn-resume-after-panic.rs @@ -2,6 +2,7 @@ // be talking about `async fn`s instead. Should also test what happens when it panics. // run-fail +// needs-unwind // error-pattern: thread 'main' panicked at '`async fn` resumed after panicking' // edition:2018 // ignore-wasm no panic or subprocess support diff --git a/src/test/ui/binding/fn-arg-incomplete-pattern-drop-order.rs b/src/test/ui/binding/fn-arg-incomplete-pattern-drop-order.rs index ea4a9e5afa5..684172ca61c 100644 --- a/src/test/ui/binding/fn-arg-incomplete-pattern-drop-order.rs +++ b/src/test/ui/binding/fn-arg-incomplete-pattern-drop-order.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // Check that partially moved from function parameters are dropped after the // named bindings that move from them. diff --git a/src/test/ui/builtin-clone-unwind.rs b/src/test/ui/builtin-clone-unwind.rs index 2caedb649a3..3623c4a4dd0 100644 --- a/src/test/ui/builtin-clone-unwind.rs +++ b/src/test/ui/builtin-clone-unwind.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(unused_variables)] #![allow(unused_imports)] diff --git a/src/test/ui/catch-unwind-bang.rs b/src/test/ui/catch-unwind-bang.rs index f181991713b..b31b5cab5b7 100644 --- a/src/test/ui/catch-unwind-bang.rs +++ b/src/test/ui/catch-unwind-bang.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default fn worker() -> ! { diff --git a/src/test/ui/cleanup-rvalue-temp-during-incomplete-alloc.rs b/src/test/ui/cleanup-rvalue-temp-during-incomplete-alloc.rs index eadbe44a8e9..6cd3781b760 100644 --- a/src/test/ui/cleanup-rvalue-temp-during-incomplete-alloc.rs +++ b/src/test/ui/cleanup-rvalue-temp-during-incomplete-alloc.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(unused_must_use)] #![allow(dead_code)] diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.fixed b/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.fixed index 7df0dd76b44..89f3931418d 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.fixed +++ b/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.fixed @@ -1,4 +1,5 @@ // run-rustfix +// needs-unwind #![deny(rust_2021_incompatible_closure_captures)] //~^ NOTE: the lint level is defined here diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.rs b/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.rs index d02fac7c669..6b0b1052174 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.rs +++ b/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.rs @@ -1,4 +1,5 @@ // run-rustfix +// needs-unwind #![deny(rust_2021_incompatible_closure_captures)] //~^ NOTE: the lint level is defined here diff --git a/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr b/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr index 74f85b6ebaa..6594ec31653 100644 --- a/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr +++ b/src/test/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr @@ -1,5 +1,5 @@ error: changes to closure capture in Rust 2021 will affect which traits the closure implements - --> $DIR/mir_calls_to_shims.rs:20:38 + --> $DIR/mir_calls_to_shims.rs:21:38 | LL | let result = panic::catch_unwind(move || { | ^^^^^^^ @@ -11,7 +11,7 @@ LL | f.0() | --- in Rust 2018, this closure captures all of `f`, but in Rust 2021, it will only capture `f.0` | note: the lint level is defined here - --> $DIR/mir_calls_to_shims.rs:3:9 + --> $DIR/mir_calls_to_shims.rs:4:9 | LL | #![deny(rust_2021_incompatible_closure_captures)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/drop/drop-trait-enum.rs b/src/test/ui/drop/drop-trait-enum.rs index 4ab8f733ad7..d2b77650a9d 100644 --- a/src/test/ui/drop/drop-trait-enum.rs +++ b/src/test/ui/drop/drop-trait-enum.rs @@ -3,6 +3,7 @@ #![allow(unused_assignments)] #![allow(unused_variables)] // ignore-emscripten no threads support +// needs-unwind use std::thread; use std::sync::mpsc::{channel, Sender}; diff --git a/src/test/ui/drop/dynamic-drop-async.rs b/src/test/ui/drop/dynamic-drop-async.rs index c0bf0bdf731..13bd71ecb33 100644 --- a/src/test/ui/drop/dynamic-drop-async.rs +++ b/src/test/ui/drop/dynamic-drop-async.rs @@ -4,6 +4,7 @@ // * Dropping one of the values panics while dropping the future. // run-pass +// needs-unwind // edition:2018 // ignore-wasm32-bare compiled with panic=abort by default diff --git a/src/test/ui/drop/dynamic-drop.rs b/src/test/ui/drop/dynamic-drop.rs index 7bb43d5b503..736123ed119 100644 --- a/src/test/ui/drop/dynamic-drop.rs +++ b/src/test/ui/drop/dynamic-drop.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default #![feature(generators, generator_trait)] diff --git a/src/test/ui/drop/terminate-in-initializer.rs b/src/test/ui/drop/terminate-in-initializer.rs index c9cb932e62a..66f267aa7c7 100644 --- a/src/test/ui/drop/terminate-in-initializer.rs +++ b/src/test/ui/drop/terminate-in-initializer.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-emscripten no threads support // Issue #787 diff --git a/src/test/ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs b/src/test/ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs index 74c6e501c91..7a91cbdc2f5 100644 --- a/src/test/ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs +++ b/src/test/ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // ignore-emscripten no threads support diff --git a/src/test/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs b/src/test/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs index bc15fcb0e39..e84ff41b344 100644 --- a/src/test/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs +++ b/src/test/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // ignore-emscripten no threads support diff --git a/src/test/ui/generator/generator-resume-after-panic.rs b/src/test/ui/generator/generator-resume-after-panic.rs index 55704f40e9f..f2e67f1f750 100644 --- a/src/test/ui/generator/generator-resume-after-panic.rs +++ b/src/test/ui/generator/generator-resume-after-panic.rs @@ -1,4 +1,5 @@ // run-fail +// needs-unwind // error-pattern:generator resumed after panicking // ignore-emscripten no processes diff --git a/src/test/ui/generator/panic-drops-resume.rs b/src/test/ui/generator/panic-drops-resume.rs index 29f4788b275..8d8eb6a97b1 100644 --- a/src/test/ui/generator/panic-drops-resume.rs +++ b/src/test/ui/generator/panic-drops-resume.rs @@ -1,6 +1,7 @@ //! Tests that panics inside a generator will correctly drop the initial resume argument. // run-pass +// needs-unwind // ignore-wasm no unwind support // ignore-emscripten no unwind support diff --git a/src/test/ui/generator/panic-drops.rs b/src/test/ui/generator/panic-drops.rs index c9a201725ae..a9de4e7fc7d 100644 --- a/src/test/ui/generator/panic-drops.rs +++ b/src/test/ui/generator/panic-drops.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default diff --git a/src/test/ui/generator/panic-safe.rs b/src/test/ui/generator/panic-safe.rs index 500a3c9c295..14a0c8dbaf1 100644 --- a/src/test/ui/generator/panic-safe.rs +++ b/src/test/ui/generator/panic-safe.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default diff --git a/src/test/ui/generator/resume-after-return.rs b/src/test/ui/generator/resume-after-return.rs index efed08bd470..538609b981a 100644 --- a/src/test/ui/generator/resume-after-return.rs +++ b/src/test/ui/generator/resume-after-return.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default diff --git a/src/test/ui/intrinsics/panic-uninitialized-zeroed.rs b/src/test/ui/intrinsics/panic-uninitialized-zeroed.rs index 324bba15e43..a1cfee944c8 100644 --- a/src/test/ui/intrinsics/panic-uninitialized-zeroed.rs +++ b/src/test/ui/intrinsics/panic-uninitialized-zeroed.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // revisions: mir thir // [thir]compile-flags: -Zthir-unsafeck diff --git a/src/test/ui/issues/issue-14875.rs b/src/test/ui/issues/issue-14875.rs index 0d95d168b3d..aaef2aab9fc 100644 --- a/src/test/ui/issues/issue-14875.rs +++ b/src/test/ui/issues/issue-14875.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // Check that values are not leaked when a dtor panics (#14875) diff --git a/src/test/ui/issues/issue-25089.rs b/src/test/ui/issues/issue-25089.rs index cf261d43c55..0f0f78623a2 100644 --- a/src/test/ui/issues/issue-25089.rs +++ b/src/test/ui/issues/issue-25089.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-emscripten no threads support use std::thread; diff --git a/src/test/ui/issues/issue-26655.rs b/src/test/ui/issues/issue-26655.rs index 4c01183a440..cb386c908a4 100644 --- a/src/test/ui/issues/issue-26655.rs +++ b/src/test/ui/issues/issue-26655.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-emscripten no threads support // Check that the destructors of simple enums are run on unwinding diff --git a/src/test/ui/issues/issue-29485.rs b/src/test/ui/issues/issue-29485.rs index 6b2fb7126e3..8d58ee6d92c 100644 --- a/src/test/ui/issues/issue-29485.rs +++ b/src/test/ui/issues/issue-29485.rs @@ -1,6 +1,7 @@ // run-pass #![allow(unused_attributes)] // aux-build:issue-29485.rs +// needs-unwind // ignore-emscripten no threads #[feature(recover)] diff --git a/src/test/ui/issues/issue-29948.rs b/src/test/ui/issues/issue-29948.rs index 8ede8143ea6..01c3ec64861 100644 --- a/src/test/ui/issues/issue-29948.rs +++ b/src/test/ui/issues/issue-29948.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default use std::panic; diff --git a/src/test/ui/issues/issue-30018-panic.rs b/src/test/ui/issues/issue-30018-panic.rs index 50749b0c742..cba3055a221 100644 --- a/src/test/ui/issues/issue-30018-panic.rs +++ b/src/test/ui/issues/issue-30018-panic.rs @@ -4,6 +4,7 @@ // spawned thread to isolate the expected error result from the // SIGTRAP injected by the drop-flag consistency checking. +// needs-unwind // ignore-emscripten no threads support struct Foo; diff --git a/src/test/ui/issues/issue-43853.rs b/src/test/ui/issues/issue-43853.rs index 47c3ab59aa2..3162c091c87 100644 --- a/src/test/ui/issues/issue-43853.rs +++ b/src/test/ui/issues/issue-43853.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default use std::panic; diff --git a/src/test/ui/issues/issue-46519.rs b/src/test/ui/issues/issue-46519.rs index cca0995d4ca..9bd3c094851 100644 --- a/src/test/ui/issues/issue-46519.rs +++ b/src/test/ui/issues/issue-46519.rs @@ -1,6 +1,7 @@ // run-pass // compile-flags:--test -O +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default #[test] diff --git a/src/test/ui/iterators/iter-count-overflow-debug.rs b/src/test/ui/iterators/iter-count-overflow-debug.rs index 5a0394ae760..15f25f1ca53 100644 --- a/src/test/ui/iterators/iter-count-overflow-debug.rs +++ b/src/test/ui/iterators/iter-count-overflow-debug.rs @@ -1,5 +1,6 @@ // run-pass // only-32bit too impatient for 2⁶⁴ items +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // compile-flags: -C debug_assertions=yes -C opt-level=3 diff --git a/src/test/ui/iterators/iter-position-overflow-debug.rs b/src/test/ui/iterators/iter-position-overflow-debug.rs index 733ee0c46cc..65124c28241 100644 --- a/src/test/ui/iterators/iter-position-overflow-debug.rs +++ b/src/test/ui/iterators/iter-position-overflow-debug.rs @@ -1,5 +1,6 @@ // run-pass // only-32bit too impatient for 2⁶⁴ items +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // compile-flags: -C debug_assertions=yes -C opt-level=3 diff --git a/src/test/ui/iterators/iter-step-overflow-debug.rs b/src/test/ui/iterators/iter-step-overflow-debug.rs index 67605d2fcc2..e16f984de79 100644 --- a/src/test/ui/iterators/iter-step-overflow-debug.rs +++ b/src/test/ui/iterators/iter-step-overflow-debug.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // compile-flags: -C debug_assertions=yes diff --git a/src/test/ui/iterators/iter-sum-overflow-debug.rs b/src/test/ui/iterators/iter-sum-overflow-debug.rs index b7667d1bbf6..d8ce43848a7 100644 --- a/src/test/ui/iterators/iter-sum-overflow-debug.rs +++ b/src/test/ui/iterators/iter-sum-overflow-debug.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // compile-flags: -C debug_assertions=yes diff --git a/src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs b/src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs index 04ca7f8a315..bc8dcbdbb0e 100644 --- a/src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs +++ b/src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // compile-flags: -C overflow-checks diff --git a/src/test/ui/macros/macro-comma-behavior-rpass.rs b/src/test/ui/macros/macro-comma-behavior-rpass.rs index 780e158fe0b..dfd58b25d08 100644 --- a/src/test/ui/macros/macro-comma-behavior-rpass.rs +++ b/src/test/ui/macros/macro-comma-behavior-rpass.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(unused_imports)] // Ideally, any macro call with a trailing comma should behave // identically to a call without the comma. diff --git a/src/test/ui/mir/mir_calls_to_shims.rs b/src/test/ui/mir/mir_calls_to_shims.rs index 6f13d5612ce..42eaab77da9 100644 --- a/src/test/ui/mir/mir_calls_to_shims.rs +++ b/src/test/ui/mir/mir_calls_to_shims.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default #![feature(fn_traits)] diff --git a/src/test/ui/mir/mir_drop_order.rs b/src/test/ui/mir/mir_drop_order.rs index 22c804abf5c..853efb0fed2 100644 --- a/src/test/ui/mir/mir_drop_order.rs +++ b/src/test/ui/mir/mir_drop_order.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default use std::cell::RefCell; diff --git a/src/test/ui/mir/mir_drop_panics.rs b/src/test/ui/mir/mir_drop_panics.rs index bf269ee901b..b4093d70415 100644 --- a/src/test/ui/mir/mir_drop_panics.rs +++ b/src/test/ui/mir/mir_drop_panics.rs @@ -1,4 +1,5 @@ // run-fail +// needs-unwind // error-pattern:panic 1 // error-pattern:drop 2 // ignore-emscripten no processes diff --git a/src/test/ui/mir/mir_dynamic_drops_3.rs b/src/test/ui/mir/mir_dynamic_drops_3.rs index eb76fdff886..2bcd9fac55c 100644 --- a/src/test/ui/mir/mir_dynamic_drops_3.rs +++ b/src/test/ui/mir/mir_dynamic_drops_3.rs @@ -1,4 +1,5 @@ // run-fail +// needs-unwind // error-pattern:unwind happens // error-pattern:drop 3 // error-pattern:drop 2 diff --git a/src/test/ui/numbers-arithmetic/int-abs-overflow.rs b/src/test/ui/numbers-arithmetic/int-abs-overflow.rs index 9c6dff7e1a6..d63ba8cb03e 100644 --- a/src/test/ui/numbers-arithmetic/int-abs-overflow.rs +++ b/src/test/ui/numbers-arithmetic/int-abs-overflow.rs @@ -1,6 +1,7 @@ // run-pass // compile-flags: -C overflow-checks=on // ignore-emscripten no threads support +// needs-unwind use std::thread; diff --git a/src/test/ui/numbers-arithmetic/next-power-of-two-overflow-debug.rs b/src/test/ui/numbers-arithmetic/next-power-of-two-overflow-debug.rs index 101c5d50b20..f857d4f4c7f 100644 --- a/src/test/ui/numbers-arithmetic/next-power-of-two-overflow-debug.rs +++ b/src/test/ui/numbers-arithmetic/next-power-of-two-overflow-debug.rs @@ -1,5 +1,6 @@ // run-pass // compile-flags: -C debug_assertions=yes +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // ignore-emscripten dies with an LLVM error diff --git a/src/test/ui/panics/panic-handler-chain.rs b/src/test/ui/panics/panic-handler-chain.rs index 93044b5cb25..73d6e790dff 100644 --- a/src/test/ui/panics/panic-handler-chain.rs +++ b/src/test/ui/panics/panic-handler-chain.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(stable_features)] // ignore-emscripten no threads support diff --git a/src/test/ui/panics/panic-handler-flail-wildly.rs b/src/test/ui/panics/panic-handler-flail-wildly.rs index 6badd203842..679dc7de87a 100644 --- a/src/test/ui/panics/panic-handler-flail-wildly.rs +++ b/src/test/ui/panics/panic-handler-flail-wildly.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(stable_features)] #![allow(unused_must_use)] diff --git a/src/test/ui/panics/panic-handler-set-twice.rs b/src/test/ui/panics/panic-handler-set-twice.rs index 0312ed221ca..27445302090 100644 --- a/src/test/ui/panics/panic-handler-set-twice.rs +++ b/src/test/ui/panics/panic-handler-set-twice.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(unused_variables)] #![allow(stable_features)] diff --git a/src/test/ui/panics/panic-in-dtor-drops-fields.rs b/src/test/ui/panics/panic-in-dtor-drops-fields.rs index caddd942dc0..c0963aa3114 100644 --- a/src/test/ui/panics/panic-in-dtor-drops-fields.rs +++ b/src/test/ui/panics/panic-in-dtor-drops-fields.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(dead_code)] #![allow(non_upper_case_globals)] diff --git a/src/test/ui/panics/panic-recover-propagate.rs b/src/test/ui/panics/panic-recover-propagate.rs index 7969336ca74..e110d94b656 100644 --- a/src/test/ui/panics/panic-recover-propagate.rs +++ b/src/test/ui/panics/panic-recover-propagate.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-emscripten no threads support use std::sync::atomic::{AtomicUsize, Ordering}; diff --git a/src/test/ui/privacy/reachable-unnameable-items.rs b/src/test/ui/privacy/reachable-unnameable-items.rs index f1e53a0d8b4..1c91541e642 100644 --- a/src/test/ui/privacy/reachable-unnameable-items.rs +++ b/src/test/ui/privacy/reachable-unnameable-items.rs @@ -1,5 +1,6 @@ // run-pass // ignore-wasm32-bare compiled with panic=abort by default +// needs-unwind // aux-build:reachable-unnameable-items.rs extern crate reachable_unnameable_items; diff --git a/src/test/ui/proc-macro/expand-with-a-macro.rs b/src/test/ui/proc-macro/expand-with-a-macro.rs index 418178d0f0e..21a4547d11e 100644 --- a/src/test/ui/proc-macro/expand-with-a-macro.rs +++ b/src/test/ui/proc-macro/expand-with-a-macro.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // aux-build:expand-with-a-macro.rs // ignore-wasm32-bare compiled with panic=abort by default diff --git a/src/test/ui/rfc-1937-termination-trait/termination-trait-in-test.rs b/src/test/ui/rfc-1937-termination-trait/termination-trait-in-test.rs index 0bd7bf3d51a..cd57d9bca94 100644 --- a/src/test/ui/rfc-1937-termination-trait/termination-trait-in-test.rs +++ b/src/test/ui/rfc-1937-termination-trait/termination-trait-in-test.rs @@ -1,5 +1,6 @@ // compile-flags: --test // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default diff --git a/src/test/ui/rfc-2091-track-caller/std-panic-locations.rs b/src/test/ui/rfc-2091-track-caller/std-panic-locations.rs index f0850d5c1f1..b067994a5c6 100644 --- a/src/test/ui/rfc-2091-track-caller/std-panic-locations.rs +++ b/src/test/ui/rfc-2091-track-caller/std-panic-locations.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // revisions: default mir-opt //[mir-opt] compile-flags: -Zmir-opt-level=4 diff --git a/src/test/ui/rfcs/rfc1857-drop-order.rs b/src/test/ui/rfcs/rfc1857-drop-order.rs index 7923aa7c0e2..243b7fb6fad 100644 --- a/src/test/ui/rfcs/rfc1857-drop-order.rs +++ b/src/test/ui/rfcs/rfc1857-drop-order.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default #![allow(dead_code, unreachable_code)] diff --git a/src/test/ui/runtime/rt-explody-panic-payloads.rs b/src/test/ui/runtime/rt-explody-panic-payloads.rs index dc193582c6a..eb5bf8f67a8 100644 --- a/src/test/ui/runtime/rt-explody-panic-payloads.rs +++ b/src/test/ui/runtime/rt-explody-panic-payloads.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-emscripten no processes // ignore-sgx no processes // ignore-wasm32-bare no unwinding panic diff --git a/src/test/ui/sepcomp/sepcomp-unwind.rs b/src/test/ui/sepcomp/sepcomp-unwind.rs index 50a4e043943..a59e25a273e 100644 --- a/src/test/ui/sepcomp/sepcomp-unwind.rs +++ b/src/test/ui/sepcomp/sepcomp-unwind.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(dead_code)] // compile-flags: -C codegen-units=3 // ignore-emscripten no threads support diff --git a/src/test/ui/structs-enums/unit-like-struct-drop-run.rs b/src/test/ui/structs-enums/unit-like-struct-drop-run.rs index 980fd97e2c6..1e9c269a4d3 100644 --- a/src/test/ui/structs-enums/unit-like-struct-drop-run.rs +++ b/src/test/ui/structs-enums/unit-like-struct-drop-run.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-emscripten no threads support // Make sure the destructor is run for unit-like structs. diff --git a/src/test/ui/test-attrs/test-should-fail-good-message.rs b/src/test/ui/test-attrs/test-should-fail-good-message.rs index 9fa759f9eb4..3260b6938f0 100644 --- a/src/test/ui/test-attrs/test-should-fail-good-message.rs +++ b/src/test/ui/test-attrs/test-should-fail-good-message.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-wasm32-bare compiled with panic=abort by default // compile-flags: --test #[test] diff --git a/src/test/ui/threads-sendsync/task-stderr.rs b/src/test/ui/threads-sendsync/task-stderr.rs index 78145e337da..68d226ffbae 100644 --- a/src/test/ui/threads-sendsync/task-stderr.rs +++ b/src/test/ui/threads-sendsync/task-stderr.rs @@ -1,5 +1,6 @@ // run-pass // ignore-emscripten no threads support +// needs-unwind #![feature(internal_output_capture)] diff --git a/src/test/ui/threads-sendsync/unwind-resource.rs b/src/test/ui/threads-sendsync/unwind-resource.rs index a063bef0822..6950a9c40d2 100644 --- a/src/test/ui/threads-sendsync/unwind-resource.rs +++ b/src/test/ui/threads-sendsync/unwind-resource.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind #![allow(non_camel_case_types)] // ignore-emscripten no threads support diff --git a/src/test/ui/unwind-unique.rs b/src/test/ui/unwind-unique.rs index 7ca53b664ac..50ecf751a86 100644 --- a/src/test/ui/unwind-unique.rs +++ b/src/test/ui/unwind-unique.rs @@ -1,4 +1,5 @@ // run-pass +// needs-unwind // ignore-emscripten no threads support use std::thread; -- cgit 1.4.1-3-g733a5