Skip to content

Commit

Permalink
Replace empty array hack with repr(align)
Browse files Browse the repository at this point in the history
As a side effect, this fixes the warning about repr(C, simd) that has been reported during x86_64 windows builds since rust-lang#47111 (see also: rust-lang#47103)
  • Loading branch information
Robin Kruppe committed Jan 7, 2018
1 parent 6828cf9 commit 9e4a692
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 12 deletions.
1 change: 0 additions & 1 deletion src/libstd/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,6 @@
#![feature(rand)]
#![feature(raw)]
#![feature(repr_align)]
#![feature(repr_simd)]
#![feature(rustc_attrs)]
#![feature(shared)]
#![feature(sip_hash_13)]
Expand Down
14 changes: 3 additions & 11 deletions src/libstd/sys/windows/c.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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::*;

Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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
}

Expand Down

0 comments on commit 9e4a692

Please sign in to comment.