about summary refs log tree commit diff
path: root/src/libpanic_unwind/lib.rs
AgeCommit message (Collapse)AuthorLines
2020-07-27mv std libs to library/mark-110/+0
2020-07-17Auto merge of #74395 - Mark-Simulacrum:stage0-next, r=pietroalbinibors-1/+1
Bump version to 1.47 This also bumps to a more recent rustfmt version, just to keep us relatively up to date (though almost nothing has changed in rustfmt we use beyond bumps to the parser infra). No formatting changes as a result of this. r? @pietroalbini
2020-07-16apply bootstrap cfgsMark Rousskov-1/+1
2020-07-15Use an allow-list of platforms that support std.Eric Huss-4/+16
Use a fall-through for no_std targets.
2020-07-15Introduce restricted-std feature.Eric Huss-1/+1
2020-06-24lints: add `improper_ctypes_definitions`David Wood-0/+1
This commit adds a new lint - `improper_ctypes_definitions` - which functions identically to `improper_ctypes`, but on `extern "C" fn` definitions (as opposed to `improper_ctypes`'s `extern "C" {}` declarations). Signed-off-by: David Wood <david@davidtw.co>
2020-04-03Make panic unwind the default for aarch64-*-windows-msvc targetsDaniel Frampton-3/+0
2020-03-14fix comment, rustfmtRalf Jung-1/+0
2020-03-14adjust Miri interaction with panic runtimeRalf Jung-13/+22
2020-03-05Simplify the try intrinsic by using a callback in the catch blockAmanieu d'Antras-7/+1
2020-03-05Use #[rustc_std_internal_symbol] instead of #[no_mangle]Amanieu d'Antras-2/+2
2020-03-02Apply review feedbackAmanieu d'Antras-5/+7
2020-03-02Fix some minor issuesAmanieu d'Antras-2/+3
2020-03-02Inline catching panics into std::catch_unwindMark Rousskov-25/+8
This allows LLVM to inline the happy path, such that catching unwinding is zero-cost when no panic occurs. This also allows us to match the code generated by C++ try/catch.
2020-01-11Abort if C++ tries to swallow a Rust panicAmanieu d'Antras-0/+6
2020-01-11Fix a memory leak in SEH unwinding if a Rust panic is caught by C++ and ↵Amanieu d'Antras-0/+1
discarded
2019-12-22Format the worldMark Rousskov-10/+11
2019-11-30libunwind_panic: adjust miri panic hackRalf Jung-5/+11
2019-11-25better comment and rename BoxMeUp::box_me_up to take_boxRalf Jung-1/+1
2019-11-16miri panic_unwind: fix hack for SEH platformsRalf Jung-5/+0
2019-11-15more commentRalf Jung-0/+1
2019-11-15libpanic_unwind for Miri: make sure we have the SEH lang items when neededRalf Jung-0/+4
2019-11-13Revert "Auto merge of #65134 - ↵Robin Kruppe-1/+0
davidtwco:issue-19834-improper-ctypes-in-extern-C-fn, r=rkruppe" This reverts commit 3f0e16473de5ec010f44290a8c3ea1d90e0ad7a2, reversing changes made to 61a551b4939ec1d5596e585351038b8fbd0124ba.
2019-11-11Remove trampoline, pass `ret` and `unwind` when handling intrinsicsAaron Hill-3/+0
2019-11-11Fix tidyAaron Hill-2/+0
2019-11-11Move to miri.rs and re-export itAaron Hill-4/+4
2019-11-11Add commentAaron Hill-0/+2
2019-11-11Add miri trampoline, fix handling of intrinsic returnAaron Hill-0/+3
2019-11-11Add explicit Miri support to libpanic_unwindAaron Hill-1/+4
2019-11-05improper_ctypes: `extern "C"` fnsDavid Wood-0/+1
2019-11-03Make SEH exceptions use a rust_panic type instead of unsigned __int64*Amanieu d'Antras-1/+0
2019-11-03Allow foreign exceptions to unwind through Rust codeAmanieu d'Antras-6/+2
2019-10-06redesign of the interface to the unikernel HermitCoreStefan Lankes-0/+3
- the old interface between HermitCore and the Rust Standard Library based on a small C library (newlib) - remove this interface and call directly the unikernel - remove the dependency to the HermitCore linker - use rust-lld as linker
2019-07-28Remove lint annotations in specific crates that are already enforced by ↵Vadim Petrochenkov-2/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-06-10std: Remove internal definitions of `cfg_if!` macroAlex Crichton-4/+1
This is duplicated in a few locations throughout the sysroot to work around issues with not exporting a macro in libstd but still wanting it available to sysroot crates to define blocks. Nowadays though we can simply depend on the `cfg-if` crate on crates.io, allowing us to use it from there!
2019-04-12Stabilize the `alloc` crate.Simon Sapin-2/+0
This implements RFC 2480: * https://github.com/rust-lang/rfcs/pull/2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes https://github.com/rust-lang/rust/issues/27783
2019-02-13libpanic_unwind => 2018: remove unused extern crate.Mazdak Farrokhzad-3/+0
2019-02-13libpanic_unwind => 2018Mazdak Farrokhzad-3/+3
2019-02-07Remove images' url to make it work even without internet connectionGuillaume Gomez-3/+1
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-19Adding unwinding support for x86_64_fortanix_unknown_sgx target.Vardhan Thigle-1/+1
2018-12-07Add x86_64-fortanix-unknown-sgx target to libstd and dependenciesJethro Beekman-1/+1
The files src/libstd/sys/sgx/*.rs are mostly copied/adapted from the wasm target. This also updates the dlmalloc submodule to the very latest version.
2018-09-27Bump to 1.31.0 and bootstrap from 1.30 betaJosh Stone-1/+1
2018-09-11stabalize infer outlives requirements (RFC 2093).toidiu-1/+0
Co-authored-by: nikomatsakis
2018-08-24check that adding infer-outlives requirement to all crates worksNiko Matsakis-0/+1
2018-08-15Start adding an `aarch64-pc-windows-msvc` targetAlex Crichton-29/+26
This commit adds the necessary definitions for target specs and such as well as the necessary support in libstd to compile basic `aarch64-pc-windows-msvc` binaries. The target is not currently built on CI, but it can be built locally with: ./configure --target=aarch64-pc-windows-msvc --set rust.lld ./x.py build src/libstd --target aarch64-pc-windows-msvc Currently this fails to build `libtest` due to a linker bug (seemingly in LLD?) which hasn't been investigate yet. Otherwise though with libstd you can build a hello world program (linked with LLD). I've not tried to execute it yet, but it at least links! Full support for this target is still a long road ahead, but this is hopefully a good stepping stone to get started. Points of note about this target are: * Currently defaults to `panic=abort` as support is still landing in LLVM for SEH on AArch64. * Currently defaults to LLD as a linker as I was able to get farther with it than I was with `link.exe`
2018-08-09[nll] libpanic_unwind: enable feature(nll) for bootstrapmemoryruins-0/+1
2018-08-05Fix failure on msvcvarkor-1/+0
2018-07-25Deny bare_trait_objects globallyTatsuyuki Ishi-1/+0
2018-07-11Deny bare trait objects in in src/libpanic_unwindljedrz-1/+2