Implement Make handle_alloc_error
default to panic (for no_std + liballoc)
Related: https://github.com/rust-lang/rust/issues/66741 Guarded with `#![feature(default_alloc_error_handler)]` a default `alloc_error_handler` is called, if a custom allocator is used and no other custom `#[alloc_error_handler]` is defined. The panic message does not contain the size anymore, because it would pull in the fmt machinery, which would blow up the code size significantly.
This commit is contained in:
parent
f283d3f02c
commit
cadd12b5f0
12 changed files with 292 additions and 7 deletions
|
@ -538,8 +538,9 @@ pub fn codegen_crate<B: ExtraBackendMethods>(
|
|||
let llmod_id =
|
||||
cgu_name_builder.build_cgu_name(LOCAL_CRATE, &["crate"], Some("allocator")).to_string();
|
||||
let mut modules = backend.new_metadata(tcx, &llmod_id);
|
||||
tcx.sess
|
||||
.time("write_allocator_module", || backend.codegen_allocator(tcx, &mut modules, kind));
|
||||
tcx.sess.time("write_allocator_module", || {
|
||||
backend.codegen_allocator(tcx, &mut modules, kind, tcx.lang_items().oom().is_some())
|
||||
});
|
||||
|
||||
Some(ModuleCodegen { name: llmod_id, module_llvm: modules, kind: ModuleKind::Allocator })
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue