Skip to content

Commit 8b79f04

Browse files
committed
LLVM 18 x86 data layout update
With https://reviews.llvm.org/D86310 LLVM now has i128 aligned to 16-bytes on x86 based platforms. This will be in LLVM-18. This patch updates all our spec targets to be 16-byte aligned, and ignores the alignment change when checking what the LLVM's default spec is on the relevant targets for older LLVMs. This results in Rust overaligning things relative to LLVM on older LLVMs. See #54341
1 parent 3c23df4 commit 8b79f04

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+108
-84
lines changed

compiler/rustc_ast/src/ast.rs

+6-2
Original file line numberDiff line numberDiff line change
@@ -3185,9 +3185,13 @@ mod size_asserts {
31853185
static_assert_size!(Impl, 136);
31863186
static_assert_size!(Item, 136);
31873187
static_assert_size!(ItemKind, 64);
3188-
static_assert_size!(LitKind, 24);
3188+
// This can be removed after i128:128 is in the bootstrap compiler's target.
3189+
#[cfg(not(bootstrap))]
3190+
static_assert_size!(LitKind, 32);
31893191
static_assert_size!(Local, 72);
3190-
static_assert_size!(MetaItemLit, 40);
3192+
// This can be removed after i128:128 is in the bootstrap compiler's target.
3193+
#[cfg(not(bootstrap))]
3194+
static_assert_size!(MetaItemLit, 48);
31913195
static_assert_size!(Param, 40);
31923196
static_assert_size!(Pat, 72);
31933197
static_assert_size!(Path, 24);

compiler/rustc_codegen_llvm/src/context.rs

+16-2
Original file line numberDiff line numberDiff line change
@@ -186,12 +186,26 @@ pub unsafe fn create_module<'ll>(
186186
let cfg_llvm_root = option_env!("CFG_LLVM_ROOT").unwrap_or("");
187187
let custom_llvm_used = !cfg_llvm_root.trim().is_empty();
188188

189-
if !custom_llvm_used && target_data_layout != llvm_data_layout {
189+
let mut checked_target_data_layout = target_data_layout.clone();
190+
if llvm_version < (18, 0, 0) {
191+
if sess.target.arch == "x86" || sess.target.arch == "x86_64" {
192+
// LLVM 18 adjusts i128 to be 128-bit aligned on x86 variants.
193+
// Earlier LLVMs leave this as default alignment, so remove it.
194+
// We only modify the checked data layout because LLVM will generate incorrect code without it.
195+
// This matches the behavior of Clang on earlier LLVMs, which reduces the likelihood of problems arising from it.
196+
// This removal acts as our acknowledgement of this deviation between the default LLVM target spec and the one we are using.
197+
//
198+
// See https://reviews.llvm.org/D86310
199+
checked_target_data_layout = checked_target_data_layout.replace("-i128:128", "");
200+
}
201+
}
202+
203+
if !custom_llvm_used && checked_target_data_layout != llvm_data_layout {
190204
bug!(
191205
"data-layout for target `{rustc_target}`, `{rustc_layout}`, \
192206
differs from LLVM target's `{llvm_target}` default layout, `{llvm_layout}`",
193207
rustc_target = sess.opts.target_triple,
194-
rustc_layout = target_data_layout,
208+
rustc_layout = checked_target_data_layout,
195209
llvm_target = sess.target.llvm_target,
196210
llvm_layout = llvm_data_layout
197211
);

compiler/rustc_middle/src/mir/mod.rs

+9-3
Original file line numberDiff line numberDiff line change
@@ -1585,13 +1585,19 @@ mod size_asserts {
15851585
use super::*;
15861586
use rustc_data_structures::static_assert_size;
15871587
// tidy-alphabetical-start
1588-
static_assert_size!(BasicBlockData<'_>, 136);
1588+
// This can be removed after i128:128 is in the bootstrap compiler's target.
1589+
#[cfg(not(bootstrap))]
1590+
static_assert_size!(BasicBlockData<'_>, 144);
15891591
static_assert_size!(LocalDecl<'_>, 40);
15901592
static_assert_size!(SourceScopeData<'_>, 72);
15911593
static_assert_size!(Statement<'_>, 32);
15921594
static_assert_size!(StatementKind<'_>, 16);
1593-
static_assert_size!(Terminator<'_>, 104);
1594-
static_assert_size!(TerminatorKind<'_>, 88);
1595+
// This can be removed after i128:128 is in the bootstrap compiler's target.
1596+
#[cfg(not(bootstrap))]
1597+
static_assert_size!(Terminator<'_>, 112);
1598+
// This can be removed after i128:128 is in the bootstrap compiler's target.
1599+
#[cfg(not(bootstrap))]
1600+
static_assert_size!(TerminatorKind<'_>, 96);
15951601
static_assert_size!(VarDebugInfo<'_>, 88);
15961602
// tidy-alphabetical-end
15971603
}

compiler/rustc_target/src/spec/i386_apple_ios.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn target() -> Target {
1111
llvm_target: ios_sim_llvm_target(arch).into(),
1212
pointer_width: 32,
1313
data_layout: "e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
14-
f64:32:64-f80:128-n8:16:32-S128"
14+
i128:128-f64:32:64-f80:128-n8:16:32-S128"
1515
.into(),
1616
arch: arch.target_arch(),
1717
options: TargetOptions {

compiler/rustc_target/src/spec/i686_apple_darwin.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pub fn target() -> Target {
1919
llvm_target: macos_llvm_target(Arch::I686).into(),
2020
pointer_width: 32,
2121
data_layout: "e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
22-
f64:32:64-f80:128-n8:16:32-S128"
22+
i128:128-f64:32:64-f80:128-n8:16:32-S128"
2323
.into(),
2424
arch: arch.target_arch(),
2525
options: TargetOptions { mcount: "\u{1}mcount".into(), ..base },

compiler/rustc_target/src/spec/i686_linux_android.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pub fn target() -> Target {
1717
llvm_target: "i686-linux-android".into(),
1818
pointer_width: 32,
1919
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
20-
f64:32:64-f80:32-n8:16:32-S128"
20+
i128:128-f64:32:64-f80:32-n8:16:32-S128"
2121
.into(),
2222
arch: "x86".into(),
2323
options: TargetOptions { supported_sanitizers: SanitizerSet::ADDRESS, ..base },

compiler/rustc_target/src/spec/i686_unknown_freebsd.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn target() -> Target {
1111
llvm_target: "i686-unknown-freebsd".into(),
1212
pointer_width: 32,
1313
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
14-
f64:32:64-f80:32-n8:16:32-S128"
14+
i128:128-f64:32:64-f80:32-n8:16:32-S128"
1515
.into(),
1616
arch: "x86".into(),
1717
options: base,

compiler/rustc_target/src/spec/i686_unknown_haiku.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn target() -> Target {
1111
llvm_target: "i686-unknown-haiku".into(),
1212
pointer_width: 32,
1313
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
14-
f64:32:64-f80:32-n8:16:32-S128"
14+
i128:128-f64:32:64-f80:32-n8:16:32-S128"
1515
.into(),
1616
arch: "x86".into(),
1717
options: base,

compiler/rustc_target/src/spec/i686_unknown_hurd_gnu.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn target() -> Target {
1111
llvm_target: "i686-unknown-hurd-gnu".into(),
1212
pointer_width: 32,
1313
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
14-
f64:32:64-f80:32-n8:16:32-S128"
14+
i128:128-f64:32:64-f80:32-n8:16:32-S128"
1515
.into(),
1616
arch: "x86".into(),
1717
options: base,

compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ pub fn target() -> Target {
1212
llvm_target: "i686-unknown-linux-gnu".into(),
1313
pointer_width: 32,
1414
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
15-
f64:32:64-f80:32-n8:16:32-S128"
15+
i128:128-f64:32:64-f80:32-n8:16:32-S128"
1616
.into(),
1717
arch: "x86".into(),
1818
options: base,

compiler/rustc_target/src/spec/i686_unknown_linux_musl.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ pub fn target() -> Target {
2525
llvm_target: "i686-unknown-linux-musl".into(),
2626
pointer_width: 32,
2727
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
28-
f64:32:64-f80:32-n8:16:32-S128"
28+
i128:128-f64:32:64-f80:32-n8:16:32-S128"
2929
.into(),
3030
arch: "x86".into(),
3131
options: base,

compiler/rustc_target/src/spec/i686_unknown_netbsd.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn target() -> Target {
1111
llvm_target: "i686-unknown-netbsdelf".into(),
1212
pointer_width: 32,
1313
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
14-
f64:32:64-f80:32-n8:16:32-S128"
14+
i128:128-f64:32:64-f80:32-n8:16:32-S128"
1515
.into(),
1616
arch: "x86".into(),
1717
options: TargetOptions { mcount: "__mcount".into(), ..base },

compiler/rustc_target/src/spec/i686_unknown_openbsd.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn target() -> Target {
1111
llvm_target: "i686-unknown-openbsd".into(),
1212
pointer_width: 32,
1313
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
14-
f64:32:64-f80:32-n8:16:32-S128"
14+
i128:128-f64:32:64-f80:32-n8:16:32-S128"
1515
.into(),
1616
arch: "x86".into(),
1717
options: base,

compiler/rustc_target/src/spec/i686_wrs_vxworks.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn target() -> Target {
1111
llvm_target: "i686-unknown-linux-gnu".into(),
1212
pointer_width: 32,
1313
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
14-
f64:32:64-f80:32-n8:16:32-S128"
14+
i128:128-f64:32:64-f80:32-n8:16:32-S128"
1515
.into(),
1616
arch: "x86".into(),
1717
options: base,

compiler/rustc_target/src/spec/x86_64_apple_darwin.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ pub fn target() -> Target {
1818
// correctly, we do too.
1919
llvm_target: macos_llvm_target(arch).into(),
2020
pointer_width: 64,
21-
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
22-
.into(),
21+
data_layout:
22+
"e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
2323
arch: arch.target_arch(),
2424
options: TargetOptions { mcount: "\u{1}mcount".into(), ..base },
2525
}

compiler/rustc_target/src/spec/x86_64_apple_ios.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ pub fn target() -> Target {
99
Target {
1010
llvm_target: ios_sim_llvm_target(arch).into(),
1111
pointer_width: 64,
12-
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
13-
.into(),
12+
data_layout:
13+
"e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1414
arch: arch.target_arch(),
1515
options: TargetOptions {
1616
max_atomic_width: Some(128),

compiler/rustc_target/src/spec/x86_64_apple_ios_macabi.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ pub fn target() -> Target {
1212
Target {
1313
llvm_target: llvm_target.into(),
1414
pointer_width: 64,
15-
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
16-
.into(),
15+
data_layout:
16+
"e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1717
arch: arch.target_arch(),
1818
options: TargetOptions {
1919
max_atomic_width: Some(128),

compiler/rustc_target/src/spec/x86_64_apple_tvos.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ pub fn target() -> Target {
66
Target {
77
llvm_target: tvos_sim_llvm_target(arch).into(),
88
pointer_width: 64,
9-
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
10-
.into(),
9+
data_layout:
10+
"e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1111
arch: arch.target_arch(),
1212
options: TargetOptions {
1313
max_atomic_width: Some(128),

compiler/rustc_target/src/spec/x86_64_apple_watchos_sim.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ pub fn target() -> Target {
66
Target {
77
llvm_target: watchos_sim_llvm_target(arch).into(),
88
pointer_width: 64,
9-
data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
10-
.into(),
9+
data_layout:
10+
"e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1111
arch: arch.target_arch(),
1212
options: TargetOptions {
1313
max_atomic_width: Some(128),

compiler/rustc_target/src/spec/x86_64_fortanix_unknown_sgx.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ pub fn target() -> Target {
7575
Target {
7676
llvm_target: "x86_64-elf".into(),
7777
pointer_width: 64,
78-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
79-
.into(),
78+
data_layout:
79+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
8080
arch: "x86_64".into(),
8181
options: opts,
8282
}

compiler/rustc_target/src/spec/x86_64_linux_android.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ pub fn target() -> Target {
1414
Target {
1515
llvm_target: "x86_64-linux-android".into(),
1616
pointer_width: 64,
17-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
18-
.into(),
17+
data_layout:
18+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1919
arch: "x86_64".into(),
2020
options: TargetOptions { supported_sanitizers: SanitizerSet::ADDRESS, ..base },
2121
}

compiler/rustc_target/src/spec/x86_64_pc_nto_qnx710.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ pub fn target() -> Target {
55
Target {
66
llvm_target: "x86_64-pc-unknown".into(),
77
pointer_width: 64,
8-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
9-
.into(),
8+
data_layout:
9+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1010
arch: "x86_64".into(),
1111
options: TargetOptions {
1212
cpu: "x86-64".into(),

compiler/rustc_target/src/spec/x86_64_pc_solaris.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ pub fn target() -> Target {
1313
Target {
1414
llvm_target: "x86_64-pc-solaris".into(),
1515
pointer_width: 64,
16-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
17-
.into(),
16+
data_layout:
17+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1818
arch: "x86_64".into(),
1919
options: base,
2020
}

compiler/rustc_target/src/spec/x86_64_pc_windows_gnu.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ pub fn target() -> Target {
1616
Target {
1717
llvm_target: "x86_64-pc-windows-gnu".into(),
1818
pointer_width: 64,
19-
data_layout: "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
20-
.into(),
19+
data_layout:
20+
"e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
2121
arch: "x86_64".into(),
2222
options: base,
2323
}

compiler/rustc_target/src/spec/x86_64_pc_windows_gnullvm.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ pub fn target() -> Target {
1111
Target {
1212
llvm_target: "x86_64-pc-windows-gnu".into(),
1313
pointer_width: 64,
14-
data_layout: "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
15-
.into(),
14+
data_layout:
15+
"e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1616
arch: "x86_64".into(),
1717
options: base,
1818
}

compiler/rustc_target/src/spec/x86_64_pc_windows_msvc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ pub fn target() -> Target {
99
Target {
1010
llvm_target: "x86_64-pc-windows-msvc".into(),
1111
pointer_width: 64,
12-
data_layout: "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
13-
.into(),
12+
data_layout:
13+
"e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1414
arch: "x86_64".into(),
1515
options: base,
1616
}

compiler/rustc_target/src/spec/x86_64_sun_solaris.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ pub fn target() -> Target {
1212
Target {
1313
llvm_target: "x86_64-pc-solaris".into(),
1414
pointer_width: 64,
15-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
16-
.into(),
15+
data_layout:
16+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1717
arch: "x86_64".into(),
1818
options: base,
1919
}

compiler/rustc_target/src/spec/x86_64_unikraft_linux_musl.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ pub fn target() -> Target {
55
llvm_target: "x86_64-unknown-linux-musl".into(),
66
pointer_width: 64,
77
arch: "x86_64".into(),
8-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
9-
.into(),
8+
data_layout:
9+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1010
options: TargetOptions {
1111
cpu: "x86-64".into(),
1212
plt_by_default: false,

compiler/rustc_target/src/spec/x86_64_unknown_dragonfly.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ pub fn target() -> Target {
1111
Target {
1212
llvm_target: "x86_64-unknown-dragonfly".into(),
1313
pointer_width: 64,
14-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
15-
.into(),
14+
data_layout:
15+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1616
arch: "x86_64".into(),
1717
options: base,
1818
}

compiler/rustc_target/src/spec/x86_64_unknown_freebsd.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ pub fn target() -> Target {
1414
Target {
1515
llvm_target: "x86_64-unknown-freebsd".into(),
1616
pointer_width: 64,
17-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
18-
.into(),
17+
data_layout:
18+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1919
arch: "x86_64".into(),
2020
options: base,
2121
}

compiler/rustc_target/src/spec/x86_64_unknown_fuchsia.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ pub fn target() -> Target {
1111
Target {
1212
llvm_target: "x86_64-unknown-fuchsia".into(),
1313
pointer_width: 64,
14-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
15-
.into(),
14+
data_layout:
15+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1616
arch: "x86_64".into(),
1717
options: base,
1818
}

compiler/rustc_target/src/spec/x86_64_unknown_haiku.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ pub fn target() -> Target {
1313
Target {
1414
llvm_target: "x86_64-unknown-haiku".into(),
1515
pointer_width: 64,
16-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
17-
.into(),
16+
data_layout:
17+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1818
arch: "x86_64".into(),
1919
options: base,
2020
}

compiler/rustc_target/src/spec/x86_64_unknown_hermit.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ pub fn target() -> Target {
55
llvm_target: "x86_64-unknown-hermit".into(),
66
pointer_width: 64,
77
arch: "x86_64".into(),
8-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
9-
.into(),
8+
data_layout:
9+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1010
options: TargetOptions {
1111
cpu: "x86-64".into(),
1212
features: "+rdrnd,+rdseed".into(),

compiler/rustc_target/src/spec/x86_64_unknown_illumos.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ pub fn target() -> Target {
1313
// so we still pass Solaris to it
1414
llvm_target: "x86_64-pc-solaris".into(),
1515
pointer_width: 64,
16-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
17-
.into(),
16+
data_layout:
17+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1818
arch: "x86_64".into(),
1919
options: base,
2020
}

compiler/rustc_target/src/spec/x86_64_unknown_l4re_uclibc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ pub fn target() -> Target {
1010
Target {
1111
llvm_target: "x86_64-unknown-l4re-uclibc".into(),
1212
pointer_width: 64,
13-
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
14-
.into(),
13+
data_layout:
14+
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(),
1515
arch: "x86_64".into(),
1616
options: base,
1717
}

0 commit comments

Comments
 (0)