about summary refs log tree commit diff
path: root/tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-unwind.diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-05-25 16:59:57 +0000
committerbors <bors@rust-lang.org>2023-05-25 16:59:57 +0000
commite6d1a0ed95efaabdb42e605feb6008369ff75c8d (patch)
tree8553312cc614a59d29762aebd153a7d46eaa761a /tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-unwind.diff
parenta3b816be53b5d3eae48e7291836442f6dff9e318 (diff)
parent2253e866a9de756c7de23179923371a2ee38629a (diff)
downloadrust-e6d1a0ed95efaabdb42e605feb6008369ff75c8d.tar.gz
rust-e6d1a0ed95efaabdb42e605feb6008369ff75c8d.zip
Auto merge of #86844 - bjorn3:global_alloc_improvements, r=pnkfelix
Support #[global_allocator] without the allocator shim

This makes it possible to use liballoc/libstd in combination with `--emit obj` if you use `#[global_allocator]`. This is what rust-for-linux uses right now and systemd may use in the future. Currently they have to depend on the exact implementation of the allocator shim to create one themself as `--emit obj` doesn't create an allocator shim.

Note that currently the allocator shim also defines the oom error handler, which is normally required too. Once `#![feature(default_alloc_error_handler)]` becomes the only option, this can be avoided. In addition when using only fallible allocator methods and either `--cfg no_global_oom_handling` for liballoc (like rust-for-linux) or `--gc-sections` no references to the oom error handler will exist.

To avoid this feature being insta-stable, you will have to define `__rust_no_alloc_shim_is_unstable` to avoid linker errors.

(Labeling this with both T-compiler and T-lang as it originally involved both an implementation detail and had an insta-stable user facing change. As noted above, the `__rust_no_alloc_shim_is_unstable` symbol requirement should prevent unintended dependence on this unstable feature.)
Diffstat (limited to 'tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-unwind.diff')
0 files changed, 0 insertions, 0 deletions