Commit graph

12 commits

Author SHA1 Message Date
Mark Rousskov
2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00
Felix S. Klock II
c9d9cc6e44 Add #![allow(..)] as necessary to get re-migrated run-pass tests compiling with clean stderr again.
Most were added mechanically.
2018-09-26 13:10:54 +02:00
Felix S. Klock II
2080474c75 Migrate src/test/ui/run-pass/* back to src/test/run-pass/.
Fix #54047
2018-09-26 13:10:54 +02:00
Felix S. Klock II
76ceeddb2b Migrated remaining src/test/run-pass/ subdirectories to src/test/ui/run-pass/. 2018-09-06 14:36:26 +02:00
varkor
319b052357 Fix stage 2 tests 2018-08-05 15:54:49 +01:00
varkor
af77c42e38 Remove panic-runtime opt-out 2018-08-05 15:54:49 +01:00
varkor
279fbaa29c Fix test/run-pass 2018-08-05 15:54:49 +01:00
Ed Schouten
3f880912e9 Add 'ignore-cloudabi' to tests that don't and won't build on CloudABI.
It looks like many of these tests are already disabled on emscripten,
which also doesn't seem to support environment variables and subprocess
spawning. Just add a similar tag for CloudABI. While there, sort some of
the lists of operating systems alphabetically.
2018-01-02 14:11:41 +01:00
Alex Crichton
d9ecdfe3a7 test: Update Emscripten failures/passing
All tests should now have annotation for *why* they're ignored on emscripten. A
few tests no longer need such an annotation as well!

Closes #41299
2017-10-17 18:46:38 -07:00
Tim Neumann
a146431e4c FIN: disable backtrace printing for panic-runtime/abort* on ARM 2017-04-23 22:00:02 +02:00
Ross Schulman
b2dfeac690 Adding ignore-emscripten to failing tests. 2016-09-30 14:02:44 -07:00
Alex Crichton
0ec321f7b5 rustc: Implement custom panic runtimes
This commit is an implementation of [RFC 1513] which allows applications to
alter the behavior of panics at compile time. A new compiler flag, `-C panic`,
is added and accepts the values `unwind` or `panic`, with the default being
`unwind`. This model affects how code is generated for the local crate, skipping
generation of landing pads with `-C panic=abort`.

[RFC 1513]: https://github.com/rust-lang/rfcs/blob/master/text/1513-less-unwinding.md

Panic implementations are then provided by crates tagged with
`#![panic_runtime]` and lazily required by crates with
`#![needs_panic_runtime]`. The panic strategy (`-C panic` value) of the panic
runtime must match the final product, and if the panic strategy is not `abort`
then the entire DAG must have the same panic strategy.

With the `-C panic=abort` strategy, users can expect a stable method to disable
generation of landing pads, improving optimization in niche scenarios,
decreasing compile time, and decreasing output binary size. With the `-C
panic=unwind` strategy users can expect the existing ability to isolate failure
in Rust code from the outside world.

Organizationally, this commit dismantles the `sys_common::unwind` module in
favor of some bits moving part of it to `libpanic_unwind` and the rest into the
`panicking` module in libstd. The custom panic runtime support is pretty similar
to the custom allocator support with the only major difference being how the
panic runtime is injected (takes the `-C panic` flag into account).
2016-05-09 08:22:36 -07:00