rust/compiler/rustc_builtin_macros/src
bors a2b1646c59 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.)
2023-05-25 16:59:57 +00:00
..
assert Rip it out 2023-05-01 16:15:13 +08:00
deriving Rollup merge of #111633 - nnethercote:avoid-ref-format, r=WaffleLapkin 2023-05-18 10:52:35 +05:30
format_foreign Use as_deref in compiler (but only where it makes sense) 2022-11-16 21:58:58 +00:00
alloc_error_handler.rs Revert "Remove #[alloc_error_handler] from the compiler and library" 2023-04-25 00:08:35 +02:00
asm.rs Avoid &format("...") calls in error message code. 2023-05-16 17:59:56 +10:00
assert.rs Rip it out 2023-05-01 16:15:13 +08:00
cfg_accessible.rs Migrate most of rustc_builtin_macros to diagnostic impls 2023-04-10 21:16:53 +01:00
cfg_eval.rs Use Option::is_some_and and Result::is_ok_and in the compiler 2023-05-24 14:20:41 +00:00
cfg.rs Migrate most of rustc_builtin_macros to diagnostic impls 2023-04-10 21:16:53 +01:00
cmdline_attrs.rs expand: Pass ast::Crate by reference to AST transforming passes 2023-03-23 14:20:55 +04:00
compile_error.rs Migrate most of rustc_builtin_macros to diagnostic impls 2023-04-10 21:16:53 +01:00
concat_bytes.rs fix TODO comments 2023-05-02 10:32:07 +00:00
concat_idents.rs refactor: use by-ref TokenTree iterator to avoid a few clones 2023-05-11 21:59:38 -05:00
concat.rs initial step towards implementing C string literals 2023-05-02 10:30:09 +00:00
derive.rs Migrate most of rustc_builtin_macros to diagnostic impls 2023-04-10 21:16:53 +01:00
edition_panic.rs Rip it out 2023-05-01 16:15:13 +08:00
env.rs Better diagnostics for env! where variable contains escape 2023-05-11 21:41:07 +01:00
errors.rs Migrate builtin_macros::asm diagnostics to translatable diagnostics 2023-04-30 21:45:46 +01:00
format_foreign.rs Remove useless drop of copy type 2023-05-10 19:36:01 +02:00
format.rs Avoid &format("...") calls in error message code. 2023-05-16 17:59:56 +10:00
global_allocator.rs Split AllocatorKind::fn_name in global_fn_name and default_fn_name 2023-05-11 14:35:08 +00:00
lib.rs Add derive for core::marker::ConstParamTy 2023-05-16 20:09:25 +02:00
log_syntax.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
proc_macro_harness.rs Restrict From<S> for {D,Subd}iagnosticMessage. 2023-05-03 08:44:39 +10:00
source_util.rs Avoid &format("...") calls in error message code. 2023-05-16 17:59:56 +10:00
standard_library_imports.rs rustc_interface: Add a new query pre_configure 2023-03-23 14:22:48 +04:00
test_harness.rs Add #[no_coverage] to the test harness's fn main 2023-05-01 11:01:12 +10:00
test.rs Fix static string lints 2023-04-25 18:59:55 +01:00
trace_macros.rs refactor: use by-ref TokenTree iterator to avoid a few clones 2023-05-11 21:59:38 -05:00
type_ascribe.rs Add unstable type_ascribe macro 2022-11-19 22:16:42 +01:00
util.rs rustc: Remove unused Session argument from some attribute functions 2023-03-22 13:55:55 +04:00