Bug fix: copied wrong size to destination in structure returns
This commit is contained in:
parent
f8fd2aa273
commit
4ec7d8bf7f
|
@ -412,7 +412,7 @@ do_return_expr(expr)
|
|||
code_expr(expr, RVAL, TRUE, NO_LABEL, NO_LABEL);
|
||||
if (struct_return != 0) {
|
||||
LoadLocal((arith) 0, pointer_size);
|
||||
store_block(func_size, func_type->tp_align);
|
||||
store_block(func_type->tp_size, func_type->tp_align);
|
||||
}
|
||||
C_bra(return_label);
|
||||
return_expr_occurred = 1;
|
||||
|
|
|
@ -319,7 +319,7 @@ end_proc(fbytes)
|
|||
if (return_expr_occurred) {
|
||||
if (func_res_label != 0) {
|
||||
C_lae_dlb(func_res_label, (arith)0);
|
||||
store_block(func_size, func_type->tp_align);
|
||||
store_block(func_type->tp_size, func_type->tp_align);
|
||||
C_lae_dlb(func_res_label, (arith)0);
|
||||
C_ret(pointer_size);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue