diff options
| author | bors <bors@rust-lang.org> | 2024-05-27 14:45:56 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-05-27 14:45:56 +0000 |
| commit | 79c30b69e4aefaccffcdab8ae70886ef87bf0a43 (patch) | |
| tree | 45f5a4dbd04fea2797846e26920e08dbd26d73db /compiler/rustc_codegen_ssa | |
| parent | da6c08e8652d112dc1d44e985842684a4b50bd12 (diff) | |
| parent | 84f70abacb2a9a0d6d90435b44ba69c71147e34c (diff) | |
| download | rust-79c30b69e4aefaccffcdab8ae70886ef87bf0a43.tar.gz rust-79c30b69e4aefaccffcdab8ae70886ef87bf0a43.zip | |
Auto merge of #3635 - RalfJung:rustup, r=RalfJung
Rustup
Diffstat (limited to 'compiler/rustc_codegen_ssa')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/codegen_attrs.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_ssa/src/codegen_attrs.rs b/compiler/rustc_codegen_ssa/src/codegen_attrs.rs index 9bf055b1739..5d7257b15c4 100644 --- a/compiler/rustc_codegen_ssa/src/codegen_attrs.rs +++ b/compiler/rustc_codegen_ssa/src/codegen_attrs.rs @@ -327,6 +327,18 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs { } else { codegen_fn_attrs.linkage = linkage; } + if tcx.is_mutable_static(did.into()) { + let mut diag = tcx.dcx().struct_span_err( + attr.span, + "mutable statics are not allowed with `#[linkage]`", + ); + diag.note( + "making the static mutable would allow changing which symbol the \ + static references rather than make the target of the symbol \ + mutable", + ); + diag.emit(); + } } } sym::link_section => { @@ -564,8 +576,8 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs { lint::builtin::INLINE_NO_SANITIZE, hir_id, no_sanitize_span, - "`no_sanitize` will have no effect after inlining", |lint| { + lint.primary_message("`no_sanitize` will have no effect after inlining"); lint.span_note(inline_span, "inlining requested here"); }, ) |
