diff options
author | Thomas Preud'homme <thomas.preudhomme@celest.fr> | 2010-03-13 11:03:40 +0100 |
---|---|---|
committer | Thomas Preud'homme <thomas.preudhomme@celest.fr> | 2010-03-13 11:03:40 +0100 |
commit | 406bee985de85229e0ba54a9efa767c194262d0c (patch) | |
tree | 2dee8785db170e33b235771ebdf7d43985b80c31 /i386-gen.c | |
parent | fa3f0c7c00c4e5da92e4e4f1a06f193507d56261 (diff) |
Imported Upstream version 0.9.25
Diffstat (limited to 'i386-gen.c')
-rw-r--r-- | i386-gen.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -471,7 +471,7 @@ void gfunc_prolog(CType *func_type) addr += size; } sym_push(sym->v & ~SYM_FIELD, type, - VT_LOCAL | VT_LVAL, param_addr); + VT_LOCAL | lvalue_type(type->t), param_addr); param_index++; } func_ret_sub = 0; @@ -480,7 +480,7 @@ void gfunc_prolog(CType *func_type) func_ret_sub = addr - 8; /* leave some room for bound checking code */ - if (do_bounds_check) { + if (tcc_state->do_bounds_check) { oad(0xb8, 0); /* lbound section pointer */ oad(0xb8, 0); /* call to function */ func_bound_offset = lbounds_section->data_offset; @@ -493,7 +493,8 @@ void gfunc_epilog(void) int v, saved_ind; #ifdef CONFIG_TCC_BCHECK - if (do_bounds_check && func_bound_offset != lbounds_section->data_offset) { + if (tcc_state->do_bounds_check + && func_bound_offset != lbounds_section->data_offset) { int saved_ind; int *bounds_ptr; Sym *sym, *sym_data; |