Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic Rustup #3878

Merged
merged 17 commits into from
Sep 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
c9607ba
Rollup merge of #128316 - GrigorenkoPV:io_error_a_bit_more, r=dtolnay
workingjubilee Sep 10, 2024
90061d1
Rollup merge of #129473 - Urgau:fix-llvm-if-unchanged, r=onur-ozkan
workingjubilee Sep 10, 2024
2cf39ce
Rollup merge of #129529 - lqd:stable-new-solver, r=Kobzol
workingjubilee Sep 10, 2024
8a9dffe
Rollup merge of #129981 - nnethercote:rm-serialize_bitcode, r=antoyo,…
workingjubilee Sep 10, 2024
a043369
Rollup merge of #130132 - sunshowers:illumos-sigsegv, r=Noratrieb
workingjubilee Sep 10, 2024
5fa74be
Rollup merge of #130146 - folkertdev:bootstrap-naked-asm, r=Amanieu
workingjubilee Sep 10, 2024
af4fae4
Rollup merge of #130149 - GrigorenkoPV:lifetime-suggestion, r=cjgillot
workingjubilee Sep 10, 2024
643db8d
Rollup merge of #130164 - RalfJung:const_ptr_as_ref, r=dtolnay
workingjubilee Sep 10, 2024
e498ca9
Update the MIRI tests
scottmcm Aug 23, 2024
71d299a
Auto merge of #130179 - workingjubilee:rollup-l78cv44, r=workingjubilee
bors Sep 10, 2024
f1b8d8a
Auto merge of #129337 - EtomicBomb:rfc, r=notriddle
bors Sep 10, 2024
97fdcae
Auto merge of #130025 - Urgau:missing_docs-expect, r=petrochenkov
bors Sep 10, 2024
ac5bcfa
Auto merge of #129403 - scottmcm:only-array-simd, r=compiler-errors
bors Sep 10, 2024
de2d70f
Auto merge of #129975 - notriddle:notriddle/lint-skip, r=GuillaumeGomez
bors Sep 11, 2024
69d6719
Preparing for merge from rustc
Sep 11, 2024
0277a4b
Merge from rustc
Sep 11, 2024
f7170ac
also allow illumos to use mmap for its stack guard
RalfJung Sep 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion rust-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
304b7f801bab31233680879ca4fb6eb294706a59
a9fb00bfa4b3038c855b2097b54e05e8c198c183
4 changes: 2 additions & 2 deletions src/shims/unix/mem.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
let map_shared = this.eval_libc_i32("MAP_SHARED");
let map_fixed = this.eval_libc_i32("MAP_FIXED");

// This is a horrible hack, but on MacOS and Solaris the guard page mechanism uses mmap
// This is a horrible hack, but on MacOS and Solarish the guard page mechanism uses mmap
// in a way we do not support. We just give it the return value it expects.
if this.frame_in_std()
&& matches!(&*this.tcx.sess.target.os, "macos" | "solaris")
&& matches!(&*this.tcx.sess.target.os, "macos" | "solaris" | "illumos")
&& (flags & map_fixed) != 0
{
return Ok(Scalar::from_maybe_pointer(Pointer::from_addr_invalid(addr), this));
Expand Down
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-div-by-zero.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_div;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, 1);
let y = i32x2(1, 0);
let x = i32x2([1, 1]);
let y = i32x2([1, 0]);
simd_div(x, y); //~ERROR: Undefined Behavior: dividing by zero
}
}
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-div-overflow.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_div;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, i32::MIN);
let y = i32x2(1, -1);
let x = i32x2([1, i32::MIN]);
let y = i32x2([1, -1]);
simd_div(x, y); //~ERROR: Undefined Behavior: overflow in signed division
}
}
4 changes: 2 additions & 2 deletions tests/fail/intrinsics/simd-reduce-invalid-bool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ use std::intrinsics::simd::simd_reduce_any;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(0, 1);
let x = i32x2([0, 1]);
simd_reduce_any(x); //~ERROR: must be all-0-bits or all-1-bits
}
}
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-rem-by-zero.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_rem;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, 1);
let y = i32x2(1, 0);
let x = i32x2([1, 1]);
let y = i32x2([1, 0]);
simd_rem(x, y); //~ERROR: Undefined Behavior: calculating the remainder with a divisor of zero
}
}
4 changes: 2 additions & 2 deletions tests/fail/intrinsics/simd-select-bitmask-invalid.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ use std::intrinsics::simd::simd_select_bitmask;
#[repr(simd)]
#[allow(non_camel_case_types)]
#[derive(Copy, Clone)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(0, 1);
let x = i32x2([0, 1]);
simd_select_bitmask(0b11111111u8, x, x); //~ERROR: bitmask less than 8 bits long must be filled with 0s for the remaining bits
}
}
4 changes: 2 additions & 2 deletions tests/fail/intrinsics/simd-select-invalid-bool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ use std::intrinsics::simd::simd_select;
#[repr(simd)]
#[allow(non_camel_case_types)]
#[derive(Copy, Clone)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(0, 1);
let x = i32x2([0, 1]);
simd_select(x, x, x); //~ERROR: must be all-0-bits or all-1-bits
}
}
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-shl-too-far.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_shl;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, 1);
let y = i32x2(100, 0);
let x = i32x2([1, 1]);
let y = i32x2([100, 0]);
simd_shl(x, y); //~ERROR: overflowing shift by 100 in `simd_shl` in lane 0
}
}
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-shr-too-far.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_shr;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, 1);
let y = i32x2(20, 40);
let x = i32x2([1, 1]);
let y = i32x2([20, 40]);
simd_shr(x, y); //~ERROR: overflowing shift by 40 in `simd_shr` in lane 1
}
}
18 changes: 9 additions & 9 deletions tests/pass/simd-intrinsic-generic-elements.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@
#[repr(simd)]
#[derive(Copy, Clone, Debug, PartialEq)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);
#[repr(simd)]
#[derive(Copy, Clone, Debug, PartialEq)]
#[allow(non_camel_case_types)]
struct i32x4(i32, i32, i32, i32);
struct i32x4([i32; 4]);
#[repr(simd)]
#[derive(Copy, Clone, Debug, PartialEq)]
#[allow(non_camel_case_types)]
struct i32x8(i32, i32, i32, i32, i32, i32, i32, i32);
struct i32x8([i32; 8]);

fn main() {
let _x2 = i32x2(20, 21);
let _x4 = i32x4(40, 41, 42, 43);
let _x8 = i32x8(80, 81, 82, 83, 84, 85, 86, 87);
let _x2 = i32x2([20, 21]);
let _x4 = i32x4([40, 41, 42, 43]);
let _x8 = i32x8([80, 81, 82, 83, 84, 85, 86, 87]);

let _y2 = i32x2(120, 121);
let _y4 = i32x4(140, 141, 142, 143);
let _y8 = i32x8(180, 181, 182, 183, 184, 185, 186, 187);
let _y2 = i32x2([120, 121]);
let _y4 = i32x4([140, 141, 142, 143]);
let _y8 = i32x8([180, 181, 182, 183, 184, 185, 186, 187]);
}