diff options
| author | Ralf Jung <post@ralfj.de> | 2025-04-02 08:31:42 +0200 | 
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2025-04-07 23:30:55 +0200 | 
| commit | 2678d04dd97444cf444c31be92bfd281f9986a47 (patch) | |
| tree | f11b92295a76bf8fd52819987ef033023a4a2ecf /compiler/rustc_mir_transform/src | |
| parent | e643f59f6da3a84f43e75dea99afaa5b041ea6bf (diff) | |
| download | rust-2678d04dd97444cf444c31be92bfd281f9986a47.tar.gz rust-2678d04dd97444cf444c31be92bfd281f9986a47.zip | |
mitigate MSVC unsoundness by not emitting alignment attributes on win32-msvc targets
also mention the MSVC alignment issue in platform-support.md
Diffstat (limited to 'compiler/rustc_mir_transform/src')
| -rw-r--r-- | compiler/rustc_mir_transform/src/check_alignment.rs | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/compiler/rustc_mir_transform/src/check_alignment.rs b/compiler/rustc_mir_transform/src/check_alignment.rs index b70cca14840..3991f1b98cd 100644 --- a/compiler/rustc_mir_transform/src/check_alignment.rs +++ b/compiler/rustc_mir_transform/src/check_alignment.rs @@ -1,3 +1,4 @@ +use rustc_abi::Align; use rustc_index::IndexVec; use rustc_middle::mir::interpret::Scalar; use rustc_middle::mir::visit::PlaceContext; @@ -11,8 +12,7 @@ pub(super) struct CheckAlignment; impl<'tcx> crate::MirPass<'tcx> for CheckAlignment { fn is_enabled(&self, sess: &Session) -> bool { - // FIXME(#112480) MSVC and rustc disagree on minimum stack alignment on x86 Windows - if sess.target.llvm_target == "i686-pc-windows-msvc" { + if sess.target.max_reliable_alignment() < Align::MAX { return false; } sess.ub_checks() | 
