diff --git a/crates/rustc_codegen_spirv/src/abi.rs b/crates/rustc_codegen_spirv/src/abi.rs index 3c8ef3b34e..447c231adf 100644 --- a/crates/rustc_codegen_spirv/src/abi.rs +++ b/crates/rustc_codegen_spirv/src/abi.rs @@ -201,7 +201,7 @@ impl<'tcx> ConvSpirvType<'tcx> for CastTarget { .map(|&kind| { Reg { kind, - size: self.prefix_chunk, + size: self.prefix_chunk_size, } .spirv_type(cx) }) @@ -240,7 +240,7 @@ impl<'tcx> ConvSpirvType<'tcx> for FnAbi<'tcx, Ty<'tcx>> { PassMode::Ignore => SpirvType::Void.def(cx), PassMode::Direct(_) | PassMode::Pair(..) => self.ret.layout.spirv_type_immediate(cx), PassMode::Cast(cast_target) => cast_target.spirv_type(cx), - PassMode::Indirect(..) => { + PassMode::Indirect { .. } => { let pointee = self.ret.layout.spirv_type(cx); let pointer = SpirvType::Pointer { storage_class: StorageClass::Function, @@ -263,14 +263,19 @@ impl<'tcx> ConvSpirvType<'tcx> for FnAbi<'tcx, Ty<'tcx>> { continue; } PassMode::Cast(cast_target) => cast_target.spirv_type(cx), - PassMode::Indirect(_, Some(_)) => { + PassMode::Indirect { + extra_attrs: Some(_), + .. + } => { let ptr_ty = cx.tcx.mk_mut_ptr(arg.layout.ty); let ptr_layout = cx.layout_of(ptr_ty); argument_types.push(scalar_pair_element_backend_type(cx, ptr_layout, 0, true)); argument_types.push(scalar_pair_element_backend_type(cx, ptr_layout, 1, true)); continue; } - PassMode::Indirect(_, None) => { + PassMode::Indirect { + extra_attrs: None, .. + } => { let pointee = arg.layout.spirv_type(cx); SpirvType::Pointer { storage_class: StorageClass::Function, diff --git a/crates/rustc_codegen_spirv/src/builder/intrinsics.rs b/crates/rustc_codegen_spirv/src/builder/intrinsics.rs index f476d4bab0..86eeefcb2d 100644 --- a/crates/rustc_codegen_spirv/src/builder/intrinsics.rs +++ b/crates/rustc_codegen_spirv/src/builder/intrinsics.rs @@ -79,7 +79,7 @@ impl<'a, 'tcx> IntrinsicCallMethods<'tcx> for Builder<'a, 'tcx> { let sig = callee_ty.fn_sig(self.tcx); let sig = self .tcx - .normalize_erasing_late_bound_regions(ParamEnv::reveal_all(), &sig); + .normalize_erasing_late_bound_regions(ParamEnv::reveal_all(), sig); let arg_tys = sig.inputs(); let name = self.tcx.item_name(def_id); diff --git a/crates/rustc_codegen_spirv/src/builder/mod.rs b/crates/rustc_codegen_spirv/src/builder/mod.rs index 27f799a56d..08679dfec1 100644 --- a/crates/rustc_codegen_spirv/src/builder/mod.rs +++ b/crates/rustc_codegen_spirv/src/builder/mod.rs @@ -290,13 +290,20 @@ impl<'a, 'tcx> ArgAbiMethods<'tcx> for Builder<'a, 'tcx> { PassMode::Pair(..) => { OperandValue::Pair(next(self, idx), next(self, idx)).store(self, dst) } - PassMode::Indirect(_, Some(_)) => OperandValue::Ref( + PassMode::Indirect { + extra_attrs: Some(_), + .. + } => OperandValue::Ref( next(self, idx), Some(next(self, idx)), arg_abi.layout.align.abi, ) .store(self, dst), - PassMode::Direct(_) | PassMode::Indirect(_, None) | PassMode::Cast(_) => { + PassMode::Direct(_) + | PassMode::Indirect { + extra_attrs: None, .. + } + | PassMode::Cast(_) => { let next_arg = next(self, idx); self.store_arg(arg_abi, next_arg, dst) } diff --git a/rust-toolchain b/rust-toolchain index 4170e28789..ed4dad9a38 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2020-11-15 +nightly-2020-11-24 diff --git a/setup.bat b/setup.bat index 2345dce20e..c435d945d9 100644 --- a/setup.bat +++ b/setup.bat @@ -1,3 +1,3 @@ setlocal -rustup toolchain install nightly-2020-11-15 --component rust-src rustc-dev llvm-tools-preview +rustup toolchain install nightly-2020-11-24 --component rust-src rustc-dev llvm-tools-preview diff --git a/setup.sh b/setup.sh index ba62358ef0..40550e2069 100755 --- a/setup.sh +++ b/setup.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -rustup toolchain install nightly-2020-11-15 --component rust-src rustc-dev llvm-tools-preview +rustup toolchain install nightly-2020-11-24 --component rust-src rustc-dev llvm-tools-preview