Skip to content

Commit e3e711b

Browse files
author
The Miri Cronjob Bot
committed
Merge from rustc
2 parents 72ba7c5 + 60d6980 commit e3e711b

File tree

99 files changed

+983
-733
lines changed

Some content is hidden

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

99 files changed

+983
-733
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,6 @@ jobs:
182182
- name: install MinGW
183183
run: src/ci/scripts/install-mingw.sh
184184

185-
# Workaround for spurious ci failures after mingw install
186-
# see https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/Spurious.20bors.20CI.20failures/near/528915775
187-
- name: ensure home dir exists
188-
run: mkdir -p ~
189-
190185
- name: install ninja
191186
run: src/ci/scripts/install-ninja.sh
192187

Cargo.lock

Lines changed: 54 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ dependencies = [
216216
"memchr",
217217
"serde",
218218
"serde_derive",
219-
"winnow 0.7.11",
219+
"winnow 0.7.12",
220220
]
221221

222222
[[package]]
@@ -510,23 +510,12 @@ dependencies = [
510510

511511
[[package]]
512512
name = "chrono-tz"
513-
version = "0.10.3"
513+
version = "0.10.4"
514514
source = "registry+https://github.com/rust-lang/crates.io-index"
515-
checksum = "efdce149c370f133a071ca8ef6ea340b7b88748ab0810097a9e2976eaa34b4f3"
515+
checksum = "a6139a8597ed92cf816dfb33f5dd6cf0bb93a6adc938f11039f371bc5bcd26c3"
516516
dependencies = [
517517
"chrono",
518-
"chrono-tz-build",
519-
"phf",
520-
]
521-
522-
[[package]]
523-
name = "chrono-tz-build"
524-
version = "0.4.1"
525-
source = "registry+https://github.com/rust-lang/crates.io-index"
526-
checksum = "8f10f8c9340e31fc120ff885fcdb54a0b48e474bbd77cab557f0c30a3e569402"
527-
dependencies = [
528-
"parse-zoneinfo",
529-
"phf_codegen",
518+
"phf 0.12.1",
530519
]
531520

532521
[[package]]
@@ -541,9 +530,9 @@ dependencies = [
541530

542531
[[package]]
543532
name = "clap"
544-
version = "4.5.40"
533+
version = "4.5.41"
545534
source = "registry+https://github.com/rust-lang/crates.io-index"
546-
checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f"
535+
checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9"
547536
dependencies = [
548537
"clap_builder",
549538
"clap_derive",
@@ -561,9 +550,9 @@ dependencies = [
561550

562551
[[package]]
563552
name = "clap_builder"
564-
version = "4.5.40"
553+
version = "4.5.41"
565554
source = "registry+https://github.com/rust-lang/crates.io-index"
566-
checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e"
555+
checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d"
567556
dependencies = [
568557
"anstream",
569558
"anstyle",
@@ -573,9 +562,9 @@ dependencies = [
573562

574563
[[package]]
575564
name = "clap_derive"
576-
version = "4.5.40"
565+
version = "4.5.41"
577566
source = "registry+https://github.com/rust-lang/crates.io-index"
578-
checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce"
567+
checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491"
579568
dependencies = [
580569
"heck 0.5.0",
581570
"proc-macro2",
@@ -847,9 +836,9 @@ dependencies = [
847836

848837
[[package]]
849838
name = "crc32fast"
850-
version = "1.4.2"
839+
version = "1.5.0"
851840
source = "registry+https://github.com/rust-lang/crates.io-index"
852-
checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
841+
checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
853842
dependencies = [
854843
"cfg-if",
855844
]
@@ -1038,9 +1027,9 @@ dependencies = [
10381027

10391028
[[package]]
10401029
name = "derive_setters"
1041-
version = "0.1.7"
1030+
version = "0.1.8"
10421031
source = "registry+https://github.com/rust-lang/crates.io-index"
1043-
checksum = "d9c848e86c87e5cc305313041c5677d4d95d60baa71cf95e5f6ea2554bb629ff"
1032+
checksum = "ae5c625eda104c228c06ecaf988d1c60e542176bd7a490e60eeda3493244c0c9"
10441033
dependencies = [
10451034
"darling",
10461035
"proc-macro2",
@@ -2103,9 +2092,9 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
21032092

21042093
[[package]]
21052094
name = "libredox"
2106-
version = "0.1.4"
2095+
version = "0.1.6"
21072096
source = "registry+https://github.com/rust-lang/crates.io-index"
2108-
checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638"
2097+
checksum = "4488594b9328dee448adb906d8b126d9b7deb7cf5c22161ee591610bb1be83c0"
21092098
dependencies = [
21102099
"bitflags",
21112100
"libc",
@@ -2215,7 +2204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
22152204
checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18"
22162205
dependencies = [
22172206
"log",
2218-
"phf",
2207+
"phf 0.11.3",
22192208
"phf_codegen",
22202209
"string_cache",
22212210
"string_cache_codegen",
@@ -2254,9 +2243,9 @@ dependencies = [
22542243

22552244
[[package]]
22562245
name = "measureme"
2257-
version = "12.0.1"
2246+
version = "12.0.3"
22582247
source = "registry+https://github.com/rust-lang/crates.io-index"
2259-
checksum = "570a507d8948a66a97f42cbbaf8a6bb9516a51017d4ee949502ad7a10a864395"
2248+
checksum = "6ebd1ebda747ae161a4a377bf93f87e18d46faad2331cc0c7d25b84b1d445f49"
22602249
dependencies = [
22612250
"log",
22622251
"memmap2",
@@ -2698,15 +2687,6 @@ dependencies = [
26982687
"windows-targets 0.52.6",
26992688
]
27002689

2701-
[[package]]
2702-
name = "parse-zoneinfo"
2703-
version = "0.3.1"
2704-
source = "registry+https://github.com/rust-lang/crates.io-index"
2705-
checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24"
2706-
dependencies = [
2707-
"regex",
2708-
]
2709-
27102690
[[package]]
27112691
name = "pathdiff"
27122692
version = "0.2.3"
@@ -2778,7 +2758,16 @@ version = "0.11.3"
27782758
source = "registry+https://github.com/rust-lang/crates.io-index"
27792759
checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
27802760
dependencies = [
2781-
"phf_shared",
2761+
"phf_shared 0.11.3",
2762+
]
2763+
2764+
[[package]]
2765+
name = "phf"
2766+
version = "0.12.1"
2767+
source = "registry+https://github.com/rust-lang/crates.io-index"
2768+
checksum = "913273894cec178f401a31ec4b656318d95473527be05c0752cc41cdc32be8b7"
2769+
dependencies = [
2770+
"phf_shared 0.12.1",
27822771
]
27832772

27842773
[[package]]
@@ -2788,7 +2777,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
27882777
checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"
27892778
dependencies = [
27902779
"phf_generator",
2791-
"phf_shared",
2780+
"phf_shared 0.11.3",
27922781
]
27932782

27942783
[[package]]
@@ -2797,7 +2786,7 @@ version = "0.11.3"
27972786
source = "registry+https://github.com/rust-lang/crates.io-index"
27982787
checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
27992788
dependencies = [
2800-
"phf_shared",
2789+
"phf_shared 0.11.3",
28012790
"rand 0.8.5",
28022791
]
28032792

@@ -2810,6 +2799,15 @@ dependencies = [
28102799
"siphasher",
28112800
]
28122801

2802+
[[package]]
2803+
name = "phf_shared"
2804+
version = "0.12.1"
2805+
source = "registry+https://github.com/rust-lang/crates.io-index"
2806+
checksum = "06005508882fb681fd97892ecff4b7fd0fee13ef1aa569f8695dae7ab9099981"
2807+
dependencies = [
2808+
"siphasher",
2809+
]
2810+
28132811
[[package]]
28142812
name = "pin-project-lite"
28152813
version = "0.2.16"
@@ -4818,15 +4816,15 @@ dependencies = [
48184816

48194817
[[package]]
48204818
name = "rustix"
4821-
version = "1.0.7"
4819+
version = "1.0.8"
48224820
source = "registry+https://github.com/rust-lang/crates.io-index"
4823-
checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
4821+
checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
48244822
dependencies = [
48254823
"bitflags",
48264824
"errno",
48274825
"libc",
48284826
"linux-raw-sys",
4829-
"windows-sys 0.59.0",
4827+
"windows-sys 0.60.2",
48304828
]
48314829

48324830
[[package]]
@@ -4947,9 +4945,9 @@ dependencies = [
49474945

49484946
[[package]]
49494947
name = "serde_json"
4950-
version = "1.0.140"
4948+
version = "1.0.141"
49514949
source = "registry+https://github.com/rust-lang/crates.io-index"
4952-
checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
4950+
checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
49534951
dependencies = [
49544952
"itoa",
49554953
"memchr",
@@ -5104,7 +5102,7 @@ checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f"
51045102
dependencies = [
51055103
"new_debug_unreachable",
51065104
"parking_lot",
5107-
"phf_shared",
5105+
"phf_shared 0.11.3",
51085106
"precomputed-hash",
51095107
"serde",
51105108
]
@@ -5116,7 +5114,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
51165114
checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0"
51175115
dependencies = [
51185116
"phf_generator",
5119-
"phf_shared",
5117+
"phf_shared 0.11.3",
51205118
"proc-macro2",
51215119
"quote",
51225120
]
@@ -5181,9 +5179,9 @@ dependencies = [
51815179

51825180
[[package]]
51835181
name = "sysinfo"
5184-
version = "0.36.0"
5182+
version = "0.36.1"
51855183
source = "registry+https://github.com/rust-lang/crates.io-index"
5186-
checksum = "aab138f5c1bb35231de19049060a87977ad23e04f2303e953bc5c2947ac7dec4"
5184+
checksum = "252800745060e7b9ffb7b2badbd8b31cfa4aa2e61af879d0a3bf2a317c20217d"
51875185
dependencies = [
51885186
"libc",
51895187
"objc2-core-foundation",
@@ -5488,7 +5486,7 @@ dependencies = [
54885486
"serde_spanned",
54895487
"toml_datetime",
54905488
"toml_write",
5491-
"winnow 0.7.11",
5489+
"winnow 0.7.12",
54925490
]
54935491

54945492
[[package]]
@@ -5886,9 +5884,9 @@ dependencies = [
58865884

58875885
[[package]]
58885886
name = "wasi-preview1-component-adapter-provider"
5889-
version = "34.0.1"
5887+
version = "34.0.2"
58905888
source = "registry+https://github.com/rust-lang/crates.io-index"
5891-
checksum = "aafa1e6af9a954a4bcf6ef420c33355d0ce84ddc6afbcba7bb6f05126f9120ae"
5889+
checksum = "33696c5f1ff1e083de9f36c3da471abd736362bc173e093f8b0b1ed5a387e39b"
58925890

58935891
[[package]]
58945892
name = "wasm-bindgen"
@@ -6532,9 +6530,9 @@ dependencies = [
65326530

65336531
[[package]]
65346532
name = "winnow"
6535-
version = "0.7.11"
6533+
version = "0.7.12"
65366534
source = "registry+https://github.com/rust-lang/crates.io-index"
6537-
checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd"
6535+
checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95"
65386536
dependencies = [
65396537
"memchr",
65406538
]

compiler/rustc_codegen_llvm/src/back/owned_target_machine.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ impl OwnedTargetMachine {
3939
debug_info_compression: &CStr,
4040
use_emulated_tls: bool,
4141
args_cstr_buff: &[u8],
42+
use_wasm_eh: bool,
4243
) -> Result<Self, LlvmError<'static>> {
4344
assert!(args_cstr_buff.len() > 0);
4445
assert!(
@@ -72,6 +73,7 @@ impl OwnedTargetMachine {
7273
use_emulated_tls,
7374
args_cstr_buff.as_ptr() as *const c_char,
7475
args_cstr_buff.len(),
76+
use_wasm_eh,
7577
)
7678
};
7779

compiler/rustc_codegen_llvm/src/back/write.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use rustc_codegen_ssa::back::write::{
1515
BitcodeSection, CodegenContext, EmitObj, ModuleConfig, TargetMachineFactoryConfig,
1616
TargetMachineFactoryFn,
1717
};
18+
use rustc_codegen_ssa::base::wants_wasm_eh;
1819
use rustc_codegen_ssa::traits::*;
1920
use rustc_codegen_ssa::{CompiledModule, ModuleCodegen, ModuleKind};
2021
use rustc_data_structures::profiling::SelfProfilerRef;
@@ -285,6 +286,8 @@ pub(crate) fn target_machine_factory(
285286
let file_name_display_preference =
286287
sess.filename_display_preference(RemapPathScopeComponents::DEBUGINFO);
287288

289+
let use_wasm_eh = wants_wasm_eh(sess);
290+
288291
Arc::new(move |config: TargetMachineFactoryConfig| {
289292
let path_to_cstring_helper = |path: Option<PathBuf>| -> CString {
290293
let path = path.unwrap_or_default();
@@ -321,6 +324,7 @@ pub(crate) fn target_machine_factory(
321324
&debuginfo_compression,
322325
use_emulated_tls,
323326
&args_cstr_buff,
327+
use_wasm_eh,
324328
)
325329
})
326330
}

compiler/rustc_codegen_llvm/src/context.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,11 @@ pub(crate) unsafe fn create_module<'ll>(
207207
// LLVM 21 updated the default layout on nvptx: https://github.com/llvm/llvm-project/pull/124961
208208
target_data_layout = target_data_layout.replace("e-p6:32:32-i64", "e-i64");
209209
}
210+
if sess.target.arch == "amdgpu" {
211+
// LLVM 21 adds the address width for address space 8.
212+
// See https://github.com/llvm/llvm-project/pull/139419
213+
target_data_layout = target_data_layout.replace("p8:128:128:128:48", "p8:128:128")
214+
}
210215
}
211216

212217
// Ensure the data-layout values hardcoded remain the defaults.

compiler/rustc_codegen_llvm/src/llvm/ffi.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2425,6 +2425,7 @@ unsafe extern "C" {
24252425
UseEmulatedTls: bool,
24262426
ArgsCstrBuff: *const c_char,
24272427
ArgsCstrBuffLen: usize,
2428+
UseWasmEH: bool,
24282429
) -> *mut TargetMachine;
24292430

24302431
pub(crate) fn LLVMRustDisposeTargetMachine(T: *mut TargetMachine);

compiler/rustc_codegen_ssa/src/mir/rvalue.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,17 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
630630
OperandRef { val: OperandValue::Immediate(static_), layout }
631631
}
632632
mir::Rvalue::Use(ref operand) => self.codegen_operand(bx, operand),
633-
mir::Rvalue::Repeat(..) => bug!("{rvalue:?} in codegen_rvalue_operand"),
633+
mir::Rvalue::Repeat(ref elem, len_const) => {
634+
// All arrays have `BackendRepr::Memory`, so only the ZST cases
635+
// end up here. Anything else forces the destination local to be
636+
// `Memory`, and thus ends up handled in `codegen_rvalue` instead.
637+
let operand = self.codegen_operand(bx, elem);
638+
let array_ty = Ty::new_array_with_const_len(bx.tcx(), operand.layout.ty, len_const);
639+
let array_ty = self.monomorphize(array_ty);
640+
let array_layout = bx.layout_of(array_ty);
641+
assert!(array_layout.is_zst());
642+
OperandRef { val: OperandValue::ZeroSized, layout: array_layout }
643+
}
634644
mir::Rvalue::Aggregate(ref kind, ref fields) => {
635645
let (variant_index, active_field_index) = match **kind {
636646
mir::AggregateKind::Adt(_, variant_index, _, _, active_field_index) => {
@@ -1000,12 +1010,10 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
10001010
mir::Rvalue::NullaryOp(..) |
10011011
mir::Rvalue::ThreadLocalRef(_) |
10021012
mir::Rvalue::Use(..) |
1013+
mir::Rvalue::Repeat(..) | // (*)
10031014
mir::Rvalue::Aggregate(..) | // (*)
10041015
mir::Rvalue::WrapUnsafeBinder(..) => // (*)
10051016
true,
1006-
// Arrays are always aggregates, so it's not worth checking anything here.
1007-
// (If it's really `[(); N]` or `[T; 0]` and we use the place path, fine.)
1008-
mir::Rvalue::Repeat(..) => false,
10091017
}
10101018

10111019
// (*) this is only true if the type is suitable

0 commit comments

Comments
 (0)