Skip to content

Commit 7294adf

Browse files
committed
Auto merge of #137497 - tgross35:rollup-1oeclrr, r=tgross35
Rollup of 8 pull requests Successful merges: - #136439 (Misc. `rustc_codegen_ssa` cleanups 🧹) - #136543 (intrinsics: unify rint, roundeven, nearbyint in a single round_ties_even intrinsic) - #136637 (Add binary_format to rustc target specs) - #137099 (Fix rustdoc test directives that were accidentally ignored 🧐) - #137297 (Update `compiler-builtins` to 0.1.147) - #137451 (FIx `sym` -> `syn` typo in tail-expr-drop-order type opt-out) - #137452 (bootstrap: add module docs for core:metadata) - #137483 (rename sub_ptr to offset_from_unsigned) r? `@ghost` `@rustbot` modify labels: rollup
2 parents c6a07e4 + 3e3b485 commit 7294adf

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

src/intrinsics/mod.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -145,60 +145,60 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
145145
this.write_scalar(Scalar::from_bool(branch), dest)?;
146146
}
147147

148-
"floorf16" | "ceilf16" | "truncf16" | "roundf16" | "rintf16" => {
148+
"floorf16" | "ceilf16" | "truncf16" | "roundf16" | "round_ties_even_f16" => {
149149
let [f] = check_arg_count(args)?;
150150
let f = this.read_scalar(f)?.to_f16()?;
151151
let mode = match intrinsic_name {
152152
"floorf16" => Round::TowardNegative,
153153
"ceilf16" => Round::TowardPositive,
154154
"truncf16" => Round::TowardZero,
155155
"roundf16" => Round::NearestTiesToAway,
156-
"rintf16" => Round::NearestTiesToEven,
156+
"round_ties_even_f16" => Round::NearestTiesToEven,
157157
_ => bug!(),
158158
};
159159
let res = f.round_to_integral(mode).value;
160160
let res = this.adjust_nan(res, &[f]);
161161
this.write_scalar(res, dest)?;
162162
}
163-
"floorf32" | "ceilf32" | "truncf32" | "roundf32" | "rintf32" => {
163+
"floorf32" | "ceilf32" | "truncf32" | "roundf32" | "round_ties_even_f32" => {
164164
let [f] = check_arg_count(args)?;
165165
let f = this.read_scalar(f)?.to_f32()?;
166166
let mode = match intrinsic_name {
167167
"floorf32" => Round::TowardNegative,
168168
"ceilf32" => Round::TowardPositive,
169169
"truncf32" => Round::TowardZero,
170170
"roundf32" => Round::NearestTiesToAway,
171-
"rintf32" => Round::NearestTiesToEven,
171+
"round_ties_even_f32" => Round::NearestTiesToEven,
172172
_ => bug!(),
173173
};
174174
let res = f.round_to_integral(mode).value;
175175
let res = this.adjust_nan(res, &[f]);
176176
this.write_scalar(res, dest)?;
177177
}
178-
"floorf64" | "ceilf64" | "truncf64" | "roundf64" | "rintf64" => {
178+
"floorf64" | "ceilf64" | "truncf64" | "roundf64" | "round_ties_even_f64" => {
179179
let [f] = check_arg_count(args)?;
180180
let f = this.read_scalar(f)?.to_f64()?;
181181
let mode = match intrinsic_name {
182182
"floorf64" => Round::TowardNegative,
183183
"ceilf64" => Round::TowardPositive,
184184
"truncf64" => Round::TowardZero,
185185
"roundf64" => Round::NearestTiesToAway,
186-
"rintf64" => Round::NearestTiesToEven,
186+
"round_ties_even_f64" => Round::NearestTiesToEven,
187187
_ => bug!(),
188188
};
189189
let res = f.round_to_integral(mode).value;
190190
let res = this.adjust_nan(res, &[f]);
191191
this.write_scalar(res, dest)?;
192192
}
193-
"floorf128" | "ceilf128" | "truncf128" | "roundf128" | "rintf128" => {
193+
"floorf128" | "ceilf128" | "truncf128" | "roundf128" | "round_ties_even_f128" => {
194194
let [f] = check_arg_count(args)?;
195195
let f = this.read_scalar(f)?.to_f128()?;
196196
let mode = match intrinsic_name {
197197
"floorf128" => Round::TowardNegative,
198198
"ceilf128" => Round::TowardPositive,
199199
"truncf128" => Round::TowardZero,
200200
"roundf128" => Round::NearestTiesToAway,
201-
"rintf128" => Round::NearestTiesToEven,
201+
"round_ties_even_f128" => Round::NearestTiesToEven,
202202
_ => bug!(),
203203
};
204204
let res = f.round_to_integral(mode).value;

tests/fail/intrinsics/ptr_offset_from_unsigned_neg.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ fn main() {
33
let arr = [0u8; 8];
44
let ptr1 = arr.as_ptr();
55
let ptr2 = ptr1.wrapping_add(4);
6-
let _val = unsafe { ptr1.sub_ptr(ptr2) }; //~ERROR: first pointer has smaller address than second
6+
let _val = unsafe { ptr1.offset_from_unsigned(ptr2) }; //~ERROR: first pointer has smaller address than second
77
}

tests/fail/intrinsics/ptr_offset_from_unsigned_neg.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
error: Undefined Behavior: `ptr_offset_from_unsigned` called when first pointer has smaller address than second: $ADDR < $ADDR
22
--> tests/fail/intrinsics/ptr_offset_from_unsigned_neg.rs:LL:CC
33
|
4-
LL | let _val = unsafe { ptr1.sub_ptr(ptr2) };
5-
| ^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called when first pointer has smaller address than second: $ADDR < $ADDR
4+
LL | let _val = unsafe { ptr1.offset_from_unsigned(ptr2) };
5+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called when first pointer has smaller address than second: $ADDR < $ADDR
66
|
77
= help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
88
= help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information

tests/pass/ptr_offset.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ fn smoke() {
2121
let _val = ptr.wrapping_sub(0);
2222
let _val = unsafe { ptr.sub(0) };
2323
let _val = unsafe { ptr.offset_from(ptr) };
24-
let _val = unsafe { ptr.sub_ptr(ptr) };
24+
let _val = unsafe { ptr.offset_from_unsigned(ptr) };
2525
}
2626

2727
fn test_offset_from() {
@@ -32,14 +32,14 @@ fn test_offset_from() {
3232
let y = x.offset(12);
3333

3434
assert_eq!(y.offset_from(x), 12);
35-
assert_eq!(y.sub_ptr(x), 12);
35+
assert_eq!(y.offset_from_unsigned(x), 12);
3636
assert_eq!(x.offset_from(y), -12);
3737
assert_eq!((y as *const u32).offset_from(x as *const u32), 12 / 4);
3838
assert_eq!((x as *const u32).offset_from(y as *const u32), -12 / 4);
3939

4040
let x = (((x as usize) * 2) / 2) as *const u8;
4141
assert_eq!(y.offset_from(x), 12);
42-
assert_eq!(y.sub_ptr(x), 12);
42+
assert_eq!(y.offset_from_unsigned(x), 12);
4343
assert_eq!(x.offset_from(y), -12);
4444
}
4545
}

0 commit comments

Comments
 (0)