From 9e4a692e5665737c080a451d6f6dba622dafb299 Mon Sep 17 00:00:00 2001 From: Robin Kruppe Date: Sun, 7 Jan 2018 20:19:51 +0100 Subject: [PATCH] Replace empty array hack with repr(align) As a side effect, this fixes the warning about repr(C, simd) that has been reported during x86_64 windows builds since #47111 (see also: #47103) --- src/libstd/lib.rs | 1 - src/libstd/sys/windows/c.rs | 14 +++----------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 29ea87aaf786a..3b79e0c4f8267 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -296,7 +296,6 @@ #![feature(rand)] #![feature(raw)] #![feature(repr_align)] -#![feature(repr_simd)] #![feature(rustc_attrs)] #![feature(shared)] #![feature(sip_hash_13)] diff --git a/src/libstd/sys/windows/c.rs b/src/libstd/sys/windows/c.rs index 6e0cccff00193..66b44f1402fc6 100644 --- a/src/libstd/sys/windows/c.rs +++ b/src/libstd/sys/windows/c.rs @@ -20,11 +20,6 @@ use os::raw::c_ulonglong; use libc::{wchar_t, size_t, c_void}; use ptr; -#[repr(simd)] -#[repr(C)] -#[cfg(target_arch = "x86_64")] -struct u64x2(u64, u64); - pub use self::FILE_INFO_BY_HANDLE_CLASS::*; pub use self::EXCEPTION_DISPOSITION::*; @@ -700,9 +695,8 @@ pub struct FLOATING_SAVE_AREA { } #[cfg(target_arch = "x86_64")] -#[repr(C)] +#[repr(C, align(16))] pub struct CONTEXT { - _align_hack: [u64x2; 0], // FIXME align on 16-byte pub P1Home: DWORDLONG, pub P2Home: DWORDLONG, pub P3Home: DWORDLONG, @@ -760,17 +754,15 @@ pub struct CONTEXT { } #[cfg(target_arch = "x86_64")] -#[repr(C)] +#[repr(C, align(16))] pub struct M128A { - _align_hack: [u64x2; 0], // FIXME align on 16-byte pub Low: c_ulonglong, pub High: c_longlong } #[cfg(target_arch = "x86_64")] -#[repr(C)] +#[repr(C, align(16))] pub struct FLOATING_SAVE_AREA { - _align_hack: [u64x2; 0], // FIXME align on 16-byte _Dummy: [u8; 512] // FIXME: Fill this out }