From 5f344a28832101e9913e134cc8cf34ddaae9e894 Mon Sep 17 00:00:00 2001 From: Erin Power Date: Tue, 2 Mar 2021 12:18:46 +0100 Subject: [PATCH] Fix UI errors --- compiler/rustc_typeck/src/check/check.rs | 9 --------- .../simd-type-generic-monomorphisation-power-of-two.rs | 4 +--- ...imd-type-generic-monomorphisation-power-of-two.stderr | 4 ---- src/test/ui/simd/simd-type.rs | 2 +- src/test/ui/simd/simd-type.stderr | 2 +- 5 files changed, 3 insertions(+), 18 deletions(-) delete mode 100644 src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.stderr diff --git a/compiler/rustc_typeck/src/check/check.rs b/compiler/rustc_typeck/src/check/check.rs index 5d7f5bf1c7b..0010d59f710 100644 --- a/compiler/rustc_typeck/src/check/check.rs +++ b/compiler/rustc_typeck/src/check/check.rs @@ -1161,15 +1161,6 @@ pub fn check_simd(tcx: TyCtxt<'_>, sp: Span, def_id: LocalDefId) { if len == 0 { struct_span_err!(tcx.sess, sp, E0075, "SIMD vector cannot be empty").emit(); return; - } else if !len.is_power_of_two() { - struct_span_err!( - tcx.sess, - sp, - E0075, - "SIMD vector length must be a power of two" - ) - .emit(); - return; } else if len > MAX_SIMD_LANES { struct_span_err!( tcx.sess, diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.rs b/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.rs index 3a0b9e02663..9b645d363e9 100644 --- a/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.rs +++ b/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.rs @@ -1,9 +1,7 @@ -// build-fail +// run-pass #![feature(repr_simd, platform_intrinsics)] -// error-pattern:monomorphising SIMD type `Simd<3_usize>` of non-power-of-two length - #[repr(simd)] struct Simd([f32; N]); diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.stderr b/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.stderr deleted file mode 100644 index 82cc0d8714a..00000000000 --- a/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.stderr +++ /dev/null @@ -1,4 +0,0 @@ -error: monomorphising SIMD type `Simd<3_usize>` of non-power-of-two length - -error: aborting due to previous error - diff --git a/src/test/ui/simd/simd-type.rs b/src/test/ui/simd/simd-type.rs index cc7443d0485..73d032a0c8e 100644 --- a/src/test/ui/simd/simd-type.rs +++ b/src/test/ui/simd/simd-type.rs @@ -10,7 +10,7 @@ struct empty; //~ ERROR SIMD vector cannot be empty struct empty2([f32; 0]); //~ ERROR SIMD vector cannot be empty #[repr(simd)] -struct pow2([f32; 7]); //~ ERROR SIMD vector length must be a power of two +struct pow2([f32; 7]); #[repr(simd)] struct i64f64(i64, f64); //~ ERROR SIMD vector should be homogeneous diff --git a/src/test/ui/simd/simd-type.stderr b/src/test/ui/simd/simd-type.stderr index 00c953c5282..823f10f5daf 100644 --- a/src/test/ui/simd/simd-type.stderr +++ b/src/test/ui/simd/simd-type.stderr @@ -34,7 +34,7 @@ error[E0075]: SIMD vector cannot have more than 32768 elements LL | struct TooBig([f32; 65536]); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -error: aborting due to 7 previous errors +error: aborting due to 6 previous errors Some errors have detailed explanations: E0075, E0076, E0077. For more information about an error, try `rustc --explain E0075`.