rustup update (#273)

This commit is contained in:
Ashley Hauck 2020-11-26 10:00:22 +01:00 committed by GitHub
parent c16ef16370
commit 5f3fd5c9d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 22 additions and 10 deletions

View File

@ -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,

View File

@ -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);

View File

@ -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)
}

View File

@ -1 +1 @@
nightly-2020-11-15
nightly-2020-11-24

View File

@ -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

View File

@ -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