Set the new vec fill-size on the compiler side, as in rustboot. Un-XFAIL first 3 vec tests.

This commit is contained in:
Graydon Hoare 2010-12-13 11:16:04 -08:00
parent 734c190918
commit a3cbdc661c
2 changed files with 8 additions and 0 deletions

View File

@ -558,6 +558,9 @@ TEST_XFAILS_SELF := $(filter-out \
u8-incr-decr.rs \
uint.rs \
unit.rs \
vec.rs \
vec-in-tup.rs \
vec-late-init.rs \
while-and-do-while.rs \
writealias.rs \
) \

View File

@ -1376,6 +1376,7 @@ fn trans_index(@block_ctxt cx, &ast.span sp, @ast.expr base,
auto lim = ix.bcx.build.GEP(v, vec(C_int(0), C_int(abi.vec_elt_fill)));
lim = ix.bcx.build.Load(lim);
auto bounds_check = ix.bcx.build.ICmp(lib.llvm.LLVMIntULT,
scaled_ix, lim);
@ -1582,6 +1583,10 @@ impure fn trans_vec(@block_ctxt cx, vec[@ast.expr] args,
sub = copy_ty(src_res.bcx, true, dst_elt, src_res.val, unit_ty);
i += 1;
}
auto fill = sub.bcx.build.GEP(vec_val,
vec(C_int(0), C_int(abi.vec_elt_fill)));
sub.bcx.build.Store(data_sz, fill);
ret res(sub.bcx, vec_val);
}