diff options
| author | bors <bors@rust-lang.org> | 2024-01-12 17:44:53 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-01-12 17:44:53 +0000 |
| commit | ce1f2ccf5a5ac9343623bd115a05e4151d93af0d (patch) | |
| tree | 3b0b1022983a806423fb3146e40319fd3ec414b0 /compiler/rustc_codegen_ssa/src/base.rs | |
| parent | 174e73a3f6df6f96ab453493796e461164dea94a (diff) | |
| parent | dafbe17a021e3227e429e6807d8714ffbdb12624 (diff) | |
| download | rust-ce1f2ccf5a5ac9343623bd115a05e4151d93af0d.tar.gz rust-ce1f2ccf5a5ac9343623bd115a05e4151d93af0d.zip | |
Auto merge of #119889 - GuillaumeGomez:rollup-ah3dhya, r=GuillaumeGomez
Rollup of 6 pull requests Successful merges: - #119817 (Remove special-casing around `AliasKind::Opaque` when structurally resolving in new solver) - #119819 (Check rust lints when an unknown lint is detected) - #119872 (Give me a way to emit all the delayed bugs as errors (add `-Zeagerly-emit-delayed-bugs`)) - #119877 (Add more information to `visit_projection_elem`) - #119884 (Rename `--env` option flag to `--env-set`) - #119885 (Revert #113923) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/base.rs')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/base.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_ssa/src/base.rs b/compiler/rustc_codegen_ssa/src/base.rs index 9d1729c4b54..0ad4af968db 100644 --- a/compiler/rustc_codegen_ssa/src/base.rs +++ b/compiler/rustc_codegen_ssa/src/base.rs @@ -859,6 +859,7 @@ impl CrateInfo { local_crate_name, compiler_builtins, profiler_runtime: None, + is_no_builtins: Default::default(), native_libraries: Default::default(), used_libraries: tcx.native_libraries(LOCAL_CRATE).iter().map(Into::into).collect(), crate_name: Default::default(), @@ -885,6 +886,9 @@ impl CrateInfo { if tcx.is_profiler_runtime(cnum) { info.profiler_runtime = Some(cnum); } + if tcx.is_no_builtins(cnum) { + info.is_no_builtins.insert(cnum); + } } // Handle circular dependencies in the standard library. @@ -892,7 +896,9 @@ impl CrateInfo { // If global LTO is enabled then almost everything (*) is glued into a single object file, // so this logic is not necessary and can cause issues on some targets (due to weak lang // item symbols being "privatized" to that object file), so we disable it. - // (*) Native libs are not glued, and we assume that they cannot define weak lang items. + // (*) Native libs, and `#[compiler_builtins]` and `#[no_builtins]` crates are not glued, + // and we assume that they cannot define weak lang items. This is not currently enforced + // by the compiler, but that's ok because all this stuff is unstable anyway. let target = &tcx.sess.target; if !are_upstream_rust_objects_already_included(tcx.sess) { let missing_weak_lang_items: FxHashSet<Symbol> = info |
