Skip to content

Commit 0defa20

Browse files
committed
Auto merge of #44906 - dkl:main-signature, r=nagisa
Fix native main() signature on 64bit Hello, in LLVM-IR produced by rustc on x86_64-linux-gnu, the native main() function had incorrect types for the function result and argc parameter: i64, while it should be i32 (really c_int). See also #20064, #29633. So I've attempted a fix here. I tested it by checking the LLVM IR produced with --target x86_64-unknown-linux-gnu and i686-unknown-linux-gnu. Also I tried running the tests (`./x.py test`), however I'm getting two failures with and without the patch, which I'm guessing is unrelated.
2 parents 1c09315 + a4e8373 commit 0defa20

File tree

79 files changed

+153
-6
lines changed

Some content is hidden

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

79 files changed

+153
-6
lines changed

src/librustc_back/target/aarch64_apple_ios.rs

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub fn target() -> TargetResult {
1818
llvm_target: "arm64-apple-ios".to_string(),
1919
target_endian: "little".to_string(),
2020
target_pointer_width: "64".to_string(),
21+
target_c_int_width: "32".to_string(),
2122
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128".to_string(),
2223
arch: "aarch64".to_string(),
2324
target_os: "ios".to_string(),

src/librustc_back/target/aarch64_linux_android.rs

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ pub fn target() -> TargetResult {
2424
llvm_target: "aarch64-linux-android".to_string(),
2525
target_endian: "little".to_string(),
2626
target_pointer_width: "64".to_string(),
27+
target_c_int_width: "32".to_string(),
2728
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
2829
arch: "aarch64".to_string(),
2930
target_os: "android".to_string(),

src/librustc_back/target/aarch64_unknown_freebsd.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "aarch64-unknown-freebsd".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "64".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
2627
arch: "aarch64".to_string(),
2728
target_os: "freebsd".to_string(),

src/librustc_back/target/aarch64_unknown_fuchsia.rs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ pub fn target() -> TargetResult {
1919
llvm_target: "aarch64-unknown-fuchsia".to_string(),
2020
target_endian: "little".to_string(),
2121
target_pointer_width: "64".to_string(),
22+
target_c_int_width: "32".to_string(),
2223
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
2324
arch: "aarch64".to_string(),
2425
target_os: "fuchsia".to_string(),

src/librustc_back/target/aarch64_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "aarch64-unknown-linux-gnu".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "64".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
target_env: "gnu".to_string(),
2627
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
2728
arch: "aarch64".to_string(),

src/librustc_back/target/aarch64_unknown_linux_musl.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "aarch64-unknown-linux-musl".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "64".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
target_env: "musl".to_string(),
2627
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
2728
arch: "aarch64".to_string(),

src/librustc_back/target/arm_linux_androideabi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ pub fn target() -> TargetResult {
2121
llvm_target: "arm-linux-androideabi".to_string(),
2222
target_endian: "little".to_string(),
2323
target_pointer_width: "32".to_string(),
24+
target_c_int_width: "32".to_string(),
2425
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
2526
arch: "arm".to_string(),
2627
target_os: "android".to_string(),

src/librustc_back/target/arm_unknown_linux_gnueabi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub fn target() -> TargetResult {
1818
llvm_target: "arm-unknown-linux-gnueabi".to_string(),
1919
target_endian: "little".to_string(),
2020
target_pointer_width: "32".to_string(),
21+
target_c_int_width: "32".to_string(),
2122
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
2223
arch: "arm".to_string(),
2324
target_os: "linux".to_string(),

src/librustc_back/target/arm_unknown_linux_gnueabihf.rs

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub fn target() -> TargetResult {
1818
llvm_target: "arm-unknown-linux-gnueabihf".to_string(),
1919
target_endian: "little".to_string(),
2020
target_pointer_width: "32".to_string(),
21+
target_c_int_width: "32".to_string(),
2122
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
2223
arch: "arm".to_string(),
2324
target_os: "linux".to_string(),

src/librustc_back/target/arm_unknown_linux_musleabi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ pub fn target() -> TargetResult {
2525
llvm_target: "arm-unknown-linux-gnueabi".to_string(),
2626
target_endian: "little".to_string(),
2727
target_pointer_width: "32".to_string(),
28+
target_c_int_width: "32".to_string(),
2829
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
2930
arch: "arm".to_string(),
3031
target_os: "linux".to_string(),

src/librustc_back/target/arm_unknown_linux_musleabihf.rs

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ pub fn target() -> TargetResult {
2525
llvm_target: "arm-unknown-linux-gnueabihf".to_string(),
2626
target_endian: "little".to_string(),
2727
target_pointer_width: "32".to_string(),
28+
target_c_int_width: "32".to_string(),
2829
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
2930
arch: "arm".to_string(),
3031
target_os: "linux".to_string(),

src/librustc_back/target/armv5te_unknown_linux_gnueabi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ pub fn target() -> TargetResult {
1717
llvm_target: "armv5te-unknown-linux-gnueabi".to_string(),
1818
target_endian: "little".to_string(),
1919
target_pointer_width: "32".to_string(),
20+
target_c_int_width: "32".to_string(),
2021
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
2122
arch: "arm".to_string(),
2223
target_os: "linux".to_string(),

src/librustc_back/target/armv7_apple_ios.rs

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub fn target() -> TargetResult {
1818
llvm_target: "armv7-apple-ios".to_string(),
1919
target_endian: "little".to_string(),
2020
target_pointer_width: "32".to_string(),
21+
target_c_int_width: "32".to_string(),
2122
data_layout: "e-m:o-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
2223
arch: "arm".to_string(),
2324
target_os: "ios".to_string(),

src/librustc_back/target/armv7_linux_androideabi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ pub fn target() -> TargetResult {
2525
llvm_target: "armv7-none-linux-android".to_string(),
2626
target_endian: "little".to_string(),
2727
target_pointer_width: "32".to_string(),
28+
target_c_int_width: "32".to_string(),
2829
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
2930
arch: "arm".to_string(),
3031
target_os: "android".to_string(),

src/librustc_back/target/armv7_unknown_linux_gnueabihf.rs

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ pub fn target() -> TargetResult {
1717
llvm_target: "armv7-unknown-linux-gnueabihf".to_string(),
1818
target_endian: "little".to_string(),
1919
target_pointer_width: "32".to_string(),
20+
target_c_int_width: "32".to_string(),
2021
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
2122
arch: "arm".to_string(),
2223
target_os: "linux".to_string(),

src/librustc_back/target/armv7_unknown_linux_musleabihf.rs

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ pub fn target() -> TargetResult {
2626
llvm_target: "armv7-unknown-linux-gnueabihf".to_string(),
2727
target_endian: "little".to_string(),
2828
target_pointer_width: "32".to_string(),
29+
target_c_int_width: "32".to_string(),
2930
data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
3031
arch: "arm".to_string(),
3132
target_os: "linux".to_string(),

src/librustc_back/target/armv7s_apple_ios.rs

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub fn target() -> TargetResult {
1818
llvm_target: "armv7s-apple-ios".to_string(),
1919
target_endian: "little".to_string(),
2020
target_pointer_width: "32".to_string(),
21+
target_c_int_width: "32".to_string(),
2122
data_layout: "e-m:o-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
2223
arch: "arm".to_string(),
2324
target_os: "ios".to_string(),

src/librustc_back/target/asmjs_unknown_emscripten.rs

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ pub fn target() -> Result<Target, String> {
3838
llvm_target: "asmjs-unknown-emscripten".to_string(),
3939
target_endian: "little".to_string(),
4040
target_pointer_width: "32".to_string(),
41+
target_c_int_width: "32".to_string(),
4142
target_os: "emscripten".to_string(),
4243
target_env: "".to_string(),
4344
target_vendor: "unknown".to_string(),

src/librustc_back/target/i386_apple_ios.rs

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub fn target() -> TargetResult {
1818
llvm_target: "i386-apple-ios".to_string(),
1919
target_endian: "little".to_string(),
2020
target_pointer_width: "32".to_string(),
21+
target_c_int_width: "32".to_string(),
2122
data_layout: "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128".to_string(),
2223
arch: "x86".to_string(),
2324
target_os: "ios".to_string(),

src/librustc_back/target/i686_apple_darwin.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "i686-apple-darwin".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "32".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
data_layout: "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128".to_string(),
2627
arch: "x86".to_string(),
2728
target_os: "macos".to_string(),

src/librustc_back/target/i686_linux_android.rs

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ pub fn target() -> TargetResult {
2828
llvm_target: "i686-linux-android".to_string(),
2929
target_endian: "little".to_string(),
3030
target_pointer_width: "32".to_string(),
31+
target_c_int_width: "32".to_string(),
3132
data_layout: "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(),
3233
arch: "x86".to_string(),
3334
target_os: "android".to_string(),

src/librustc_back/target/i686_pc_windows_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ pub fn target() -> TargetResult {
2626
llvm_target: "i686-pc-windows-gnu".to_string(),
2727
target_endian: "little".to_string(),
2828
target_pointer_width: "32".to_string(),
29+
target_c_int_width: "32".to_string(),
2930
data_layout: "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32".to_string(),
3031
arch: "x86".to_string(),
3132
target_os: "windows".to_string(),

src/librustc_back/target/i686_pc_windows_msvc.rs

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ pub fn target() -> TargetResult {
3030
llvm_target: "i686-pc-windows-msvc".to_string(),
3131
target_endian: "little".to_string(),
3232
target_pointer_width: "32".to_string(),
33+
target_c_int_width: "32".to_string(),
3334
data_layout: "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32".to_string(),
3435
arch: "x86".to_string(),
3536
target_os: "windows".to_string(),

src/librustc_back/target/i686_unknown_dragonfly.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "i686-unknown-dragonfly".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "32".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
data_layout: "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(),
2627
arch: "x86".to_string(),
2728
target_os: "dragonfly".to_string(),

src/librustc_back/target/i686_unknown_freebsd.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "i686-unknown-freebsd".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "32".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
data_layout: "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(),
2627
arch: "x86".to_string(),
2728
target_os: "freebsd".to_string(),

src/librustc_back/target/i686_unknown_haiku.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "i686-unknown-haiku".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "32".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
data_layout: "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(),
2627
arch: "x86".to_string(),
2728
target_os: "haiku".to_string(),

src/librustc_back/target/i686_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "i686-unknown-linux-gnu".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "32".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
data_layout: "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(),
2627
arch: "x86".to_string(),
2728
target_os: "linux".to_string(),

src/librustc_back/target/i686_unknown_linux_musl.rs

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ pub fn target() -> TargetResult {
3737
llvm_target: "i686-unknown-linux-musl".to_string(),
3838
target_endian: "little".to_string(),
3939
target_pointer_width: "32".to_string(),
40+
target_c_int_width: "32".to_string(),
4041
data_layout: "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(),
4142
arch: "x86".to_string(),
4243
target_os: "linux".to_string(),

src/librustc_back/target/i686_unknown_netbsd.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "i686-unknown-netbsdelf".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "32".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
data_layout: "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(),
2627
arch: "x86".to_string(),
2728
target_os: "netbsd".to_string(),

src/librustc_back/target/i686_unknown_openbsd.rs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
2222
llvm_target: "i686-unknown-openbsd".to_string(),
2323
target_endian: "little".to_string(),
2424
target_pointer_width: "32".to_string(),
25+
target_c_int_width: "32".to_string(),
2526
data_layout: "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(),
2627
arch: "x86".to_string(),
2728
target_os: "openbsd".to_string(),

src/librustc_back/target/le32_unknown_nacl.rs

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ pub fn target() -> TargetResult {
3939
llvm_target: "le32-unknown-nacl".to_string(),
4040
target_endian: "little".to_string(),
4141
target_pointer_width: "32".to_string(),
42+
target_c_int_width: "32".to_string(),
4243
target_os: "nacl".to_string(),
4344
target_env: "newlib".to_string(),
4445
target_vendor: "unknown".to_string(),

src/librustc_back/target/mips64_unknown_linux_gnuabi64.rs

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> TargetResult {
1616
llvm_target: "mips64-unknown-linux-gnuabi64".to_string(),
1717
target_endian: "big".to_string(),
1818
target_pointer_width: "64".to_string(),
19+
target_c_int_width: "32".to_string(),
1920
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
2021
arch: "mips64".to_string(),
2122
target_os: "linux".to_string(),

src/librustc_back/target/mips64el_unknown_linux_gnuabi64.rs

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> TargetResult {
1616
llvm_target: "mips64el-unknown-linux-gnuabi64".to_string(),
1717
target_endian: "little".to_string(),
1818
target_pointer_width: "64".to_string(),
19+
target_c_int_width: "32".to_string(),
1920
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".to_string(),
2021
arch: "mips64".to_string(),
2122
target_os: "linux".to_string(),

src/librustc_back/target/mips_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> TargetResult {
1616
llvm_target: "mips-unknown-linux-gnu".to_string(),
1717
target_endian: "big".to_string(),
1818
target_pointer_width: "32".to_string(),
19+
target_c_int_width: "32".to_string(),
1920
data_layout: "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
2021
arch: "mips".to_string(),
2122
target_os: "linux".to_string(),

src/librustc_back/target/mips_unknown_linux_musl.rs

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> TargetResult {
1616
llvm_target: "mips-unknown-linux-musl".to_string(),
1717
target_endian: "big".to_string(),
1818
target_pointer_width: "32".to_string(),
19+
target_c_int_width: "32".to_string(),
1920
data_layout: "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
2021
arch: "mips".to_string(),
2122
target_os: "linux".to_string(),

src/librustc_back/target/mips_unknown_linux_uclibc.rs

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> TargetResult {
1616
llvm_target: "mips-unknown-linux-uclibc".to_string(),
1717
target_endian: "big".to_string(),
1818
target_pointer_width: "32".to_string(),
19+
target_c_int_width: "32".to_string(),
1920
data_layout: "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
2021
arch: "mips".to_string(),
2122
target_os: "linux".to_string(),

src/librustc_back/target/mipsel_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> TargetResult {
1616
llvm_target: "mipsel-unknown-linux-gnu".to_string(),
1717
target_endian: "little".to_string(),
1818
target_pointer_width: "32".to_string(),
19+
target_c_int_width: "32".to_string(),
1920
data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
2021
arch: "mips".to_string(),
2122
target_os: "linux".to_string(),

src/librustc_back/target/mipsel_unknown_linux_musl.rs

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> TargetResult {
1616
llvm_target: "mipsel-unknown-linux-musl".to_string(),
1717
target_endian: "little".to_string(),
1818
target_pointer_width: "32".to_string(),
19+
target_c_int_width: "32".to_string(),
1920
data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
2021
arch: "mips".to_string(),
2122
target_os: "linux".to_string(),

src/librustc_back/target/mipsel_unknown_linux_uclibc.rs

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> TargetResult {
1616
llvm_target: "mipsel-unknown-linux-uclibc".to_string(),
1717
target_endian: "little".to_string(),
1818
target_pointer_width: "32".to_string(),
19+
target_c_int_width: "32".to_string(),
1920
data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
2021
arch: "mips".to_string(),
2122
target_os: "linux".to_string(),

src/librustc_back/target/mod.rs

+4
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,8 @@ pub struct Target {
239239
pub target_endian: String,
240240
/// String to use as the `target_pointer_width` `cfg` variable.
241241
pub target_pointer_width: String,
242+
/// Width of c_int type
243+
pub target_c_int_width: String,
242244
/// OS name to use for conditional compilation.
243245
pub target_os: String,
244246
/// Environment name to use for conditional compilation.
@@ -556,6 +558,7 @@ impl Target {
556558
llvm_target: get_req_field("llvm-target")?,
557559
target_endian: get_req_field("target-endian")?,
558560
target_pointer_width: get_req_field("target-pointer-width")?,
561+
target_c_int_width: get_req_field("target-c-int-width")?,
559562
data_layout: get_req_field("data-layout")?,
560563
arch: get_req_field("arch")?,
561564
target_os: get_req_field("os")?,
@@ -860,6 +863,7 @@ impl ToJson for Target {
860863
target_val!(llvm_target);
861864
target_val!(target_endian);
862865
target_val!(target_pointer_width);
866+
target_val!(target_c_int_width);
863867
target_val!(arch);
864868
target_val!(target_os, "os");
865869
target_val!(target_env, "env");

src/librustc_back/target/msp430_none_elf.rs

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub fn target() -> TargetResult {
1616
llvm_target: "msp430-none-elf".to_string(),
1717
target_endian: "little".to_string(),
1818
target_pointer_width: "16".to_string(),
19+
target_c_int_width: "16".to_string(),
1920
data_layout: "e-m:e-p:16:16-i32:16-i64:16-f32:16-f64:16-a:8-n8:16-S16".to_string(),
2021
arch: "msp430".to_string(),
2122
target_os: "none".to_string(),

src/librustc_back/target/powerpc64_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ pub fn target() -> TargetResult {
2828
llvm_target: "powerpc64-unknown-linux-gnu".to_string(),
2929
target_endian: "big".to_string(),
3030
target_pointer_width: "64".to_string(),
31+
target_c_int_width: "32".to_string(),
3132
data_layout: "E-m:e-i64:64-n32:64".to_string(),
3233
arch: "powerpc64".to_string(),
3334
target_os: "linux".to_string(),

src/librustc_back/target/powerpc64le_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ pub fn target() -> TargetResult {
2424
llvm_target: "powerpc64le-unknown-linux-gnu".to_string(),
2525
target_endian: "little".to_string(),
2626
target_pointer_width: "64".to_string(),
27+
target_c_int_width: "32".to_string(),
2728
data_layout: "e-m:e-i64:64-n32:64".to_string(),
2829
arch: "powerpc64".to_string(),
2930
target_os: "linux".to_string(),

src/librustc_back/target/powerpc_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ pub fn target() -> TargetResult {
2323
llvm_target: "powerpc-unknown-linux-gnu".to_string(),
2424
target_endian: "big".to_string(),
2525
target_pointer_width: "32".to_string(),
26+
target_c_int_width: "32".to_string(),
2627
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
2728
arch: "powerpc".to_string(),
2829
target_os: "linux".to_string(),

src/librustc_back/target/s390x_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ pub fn target() -> TargetResult {
2828
llvm_target: "s390x-unknown-linux-gnu".to_string(),
2929
target_endian: "big".to_string(),
3030
target_pointer_width: "64".to_string(),
31+
target_c_int_width: "32".to_string(),
3132
data_layout: "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64".to_string(),
3233
arch: "s390x".to_string(),
3334
target_os: "linux".to_string(),

src/librustc_back/target/sparc64_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ pub fn target() -> TargetResult {
2121
llvm_target: "sparc64-unknown-linux-gnu".to_string(),
2222
target_endian: "big".to_string(),
2323
target_pointer_width: "64".to_string(),
24+
target_c_int_width: "32".to_string(),
2425
data_layout: "E-m:e-i64:64-n32:64-S128".to_string(),
2526
arch: "sparc64".to_string(),
2627
target_os: "linux".to_string(),

src/librustc_back/target/sparc64_unknown_netbsd.rs

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ pub fn target() -> TargetResult {
2121
llvm_target: "sparc64-unknown-netbsd".to_string(),
2222
target_endian: "big".to_string(),
2323
target_pointer_width: "64".to_string(),
24+
target_c_int_width: "32".to_string(),
2425
data_layout: "E-m:e-i64:64-n32:64-S128".to_string(),
2526
arch: "sparc64".to_string(),
2627
target_os: "netbsd".to_string(),

0 commit comments

Comments
 (0)