Skip to content

Commit 37de408

Browse files
committed
---
yaml --- r: 13116 b: refs/heads/master c: ea8d4d7 h: refs/heads/master v: v3
1 parent e9feb6b commit 37de408

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 1eebb1fe871addca6c7dcdfb43d0b8693e08b783
2+
refs/heads/master: ea8d4d7f1719a53c066713e6893b33556b69dbfe
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf

trunk/src/rustc/middle/trans/base.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2521,7 +2521,9 @@ fn trans_index(cx: block, ex: @ast::expr, base: @ast::expr,
25212521
let ix_size = llsize_of_real(cx.ccx(), val_ty(ix.val));
25222522
let int_size = llsize_of_real(cx.ccx(), ccx.int_type);
25232523
let ix_val = if ix_size < int_size {
2524-
ZExt(bcx, ix.val, ccx.int_type)
2524+
if ty::type_is_signed(expr_ty(cx, idx)) {
2525+
SExt(bcx, ix.val, ccx.int_type)
2526+
} else { ZExt(bcx, ix.val, ccx.int_type) }
25252527
} else if ix_size > int_size {
25262528
Trunc(bcx, ix.val, ccx.int_type)
25272529
} else {

0 commit comments

Comments
 (0)