diff options
| author | bors <bors@rust-lang.org> | 2019-05-31 10:42:31 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-05-31 10:42:31 +0000 |
| commit | db4c783319d60ba2e4c93ac0b6a295f345a9c544 (patch) | |
| tree | dcb933ba4beb1ff0493e1157998aed62f0c5c2ab /src/librustc_codegen_ssa | |
| parent | 3ade426ede7bca4a74bc641a12f2e7fe2cc20c47 (diff) | |
| parent | 5b9848912a85e28d000602fc2e81bad9c2f2a981 (diff) | |
| download | rust-db4c783319d60ba2e4c93ac0b6a295f345a9c544.tar.gz rust-db4c783319d60ba2e4c93ac0b6a295f345a9c544.zip | |
Auto merge of #60166 - oli-obk:type_name, r=eddyb
Make the `type_name` intrinsic deterministic cc @eddyb for the printing infrastructure cc @Centril for the deterministic (coherent?) output r? @sfackler
Diffstat (limited to 'src/librustc_codegen_ssa')
| -rw-r--r-- | src/librustc_codegen_ssa/mir/operand.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/librustc_codegen_ssa/mir/operand.rs b/src/librustc_codegen_ssa/mir/operand.rs index ec471a1323e..0ae2fbe8071 100644 --- a/src/librustc_codegen_ssa/mir/operand.rs +++ b/src/librustc_codegen_ssa/mir/operand.rs @@ -68,11 +68,11 @@ impl<'a, 'tcx: 'a, V: CodegenObject> OperandRef<'tcx, V> { pub fn from_const<Bx: BuilderMethods<'a, 'tcx, Value = V>>( bx: &mut Bx, val: &'tcx ty::Const<'tcx> - ) -> Result<Self, ErrorHandled> { + ) -> Self { let layout = bx.layout_of(val.ty); if layout.is_zst() { - return Ok(OperandRef::new_zst(bx, layout)); + return OperandRef::new_zst(bx, layout); } let val = match val.val { @@ -110,14 +110,14 @@ impl<'a, 'tcx: 'a, V: CodegenObject> OperandRef<'tcx, V> { OperandValue::Pair(a_llval, b_llval) }, ConstValue::ByRef(ptr, alloc) => { - return Ok(bx.load_operand(bx.from_const_alloc(layout, alloc, ptr.offset))); + return bx.load_operand(bx.from_const_alloc(layout, alloc, ptr.offset)); }, }; - Ok(OperandRef { + OperandRef { val, layout - }) + } } /// Asserts that this operand refers to a scalar and returns @@ -468,7 +468,7 @@ impl<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { mir::Operand::Constant(ref constant) => { let ty = self.monomorphize(&constant.ty); self.eval_mir_constant(constant) - .and_then(|c| OperandRef::from_const(bx, c)) + .map(|c| OperandRef::from_const(bx, c)) .unwrap_or_else(|err| { match err { // errored or at least linted |
