about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbjorn3 <17426603+bjorn3@users.noreply.github.com>2022-12-11 11:05:00 +0100
committerbjorn3 <17426603+bjorn3@users.noreply.github.com>2022-12-11 11:05:00 +0100
commit8f9a0481389721289217dc03aec80371e1184792 (patch)
tree34f2dd283cd30172c703774050dfe25f4a3d9dab /src
parent63fab514dbfc7fc499d8ad8fefcc76310b97d3c1 (diff)
parent34336b8d94cee06628f0f4d9d932634135e32a38 (diff)
downloadrust-8f9a0481389721289217dc03aec80371e1184792.tar.gz
rust-8f9a0481389721289217dc03aec80371e1184792.zip
Sync from rust b3ddfeb5a88352aa6d157f722976937da7b97307
Diffstat (limited to 'src')
-rw-r--r--src/base.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/base.rs b/src/base.rs
index 12a15fbaee6..ac3c0be025c 100644
--- a/src/base.rs
+++ b/src/base.rs
@@ -372,8 +372,10 @@ fn codegen_fn_body(fx: &mut FunctionCx<'_, '_, '_>, start_block: Block) {
                 }
             }
 
-            TerminatorKind::SwitchInt { discr, switch_ty, targets } => {
-                let discr = codegen_operand(fx, discr).load_scalar(fx);
+            TerminatorKind::SwitchInt { discr, targets } => {
+                let discr = codegen_operand(fx, discr);
+                let switch_ty = discr.layout().ty;
+                let discr = discr.load_scalar(fx);
 
                 let use_bool_opt = switch_ty.kind() == fx.tcx.types.bool.kind()
                     || (targets.iter().count() == 1 && targets.iter().next().unwrap().0 == 0);