Fixed bug: old-style float parameters resulted in wrong addresses for following parameters
This commit is contained in:
parent
b4f6c3fa00
commit
5d9c7f4d9b
|
@ -535,7 +535,12 @@ declare_formals(idf, fp)
|
||||||
word boundaries, i.e. take care that the following
|
word boundaries, i.e. take care that the following
|
||||||
parameter starts on a new word boundary.
|
parameter starts on a new word boundary.
|
||||||
*/
|
*/
|
||||||
f_offset = align(f_offset + def->df_type->tp_size, (int) word_size);
|
if (! hasproto
|
||||||
|
&& def->df_type->tp_fund == FLOAT
|
||||||
|
&& def->df_type->tp_size != double_size) {
|
||||||
|
f_offset = align(f_offset + double_size, (int) word_size);
|
||||||
|
}
|
||||||
|
else f_offset = align(f_offset + def->df_type->tp_size, (int) word_size);
|
||||||
RegisterAccount(def->df_address, def->df_type->tp_size,
|
RegisterAccount(def->df_address, def->df_type->tp_size,
|
||||||
regtype(def->df_type),
|
regtype(def->df_type),
|
||||||
def->df_sc);
|
def->df_sc);
|
||||||
|
|
Loading…
Reference in a new issue