mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-05 11:33:04 +00:00
rustc: Fix a level-of-indirection problem by using size_of() to compute dynamically sized interior vector element sizes instead of field_of_tydesc()
This commit is contained in:
parent
f5d604f0c3
commit
8450ab9a2b
@ -1407,11 +1407,9 @@ fn dynamic_size_of(&@block_ctxt cx, ty::t t) -> result {
|
||||
ret rslt(bcx, total_size);
|
||||
}
|
||||
case (ty::ty_ivec(?mt)) {
|
||||
auto rs = field_of_tydesc(cx, mt.ty, false,
|
||||
abi::tydesc_field_size);
|
||||
auto rs = size_of(cx, mt.ty);
|
||||
auto bcx = rs.bcx;
|
||||
auto llunitszptr = rs.val;
|
||||
auto llunitsz = bcx.build.Load(llunitszptr);
|
||||
auto llunitsz = rs.val;
|
||||
auto llsz = bcx.build.Add(llsize_of(T_opaque_ivec()),
|
||||
bcx.build.Mul(llunitsz, C_uint(abi::ivec_default_length)));
|
||||
ret rslt(bcx, llsz);
|
||||
|
Loading…
Reference in New Issue
Block a user