]> git.lizzy.rs Git - rust.git/commitdiff
mir: Truncate bool to i1 for SwitchInt.
authorEduard Burtescu <edy.burt@gmail.com>
Tue, 8 Mar 2016 12:31:23 +0000 (14:31 +0200)
committerEduard Burtescu <edy.burt@gmail.com>
Thu, 17 Mar 2016 19:51:54 +0000 (21:51 +0200)
src/librustc_trans/trans/mir/block.rs

index 0eea8fea8268a8371eb06e755bab9dbb15edd2c2..3550239a44055ddafd5d0c1012b871edae0fe7a7 100644 (file)
@@ -104,6 +104,7 @@ pub fn trans_block(&mut self, bb: mir::BasicBlock) {
             mir::Terminator::SwitchInt { ref discr, switch_ty, ref values, ref targets } => {
                 let (otherwise, targets) = targets.split_last().unwrap();
                 let discr = bcx.load(self.trans_lvalue(&bcx, discr).llval);
+                let discr = bcx.with_block(|bcx| base::to_immediate(bcx, discr, switch_ty));
                 let switch = bcx.switch(discr, self.llblock(*otherwise), values.len());
                 for (value, target) in values.iter().zip(targets) {
                     let llval = self.trans_constval(&bcx, value, switch_ty).immediate();