summaryrefslogtreecommitdiff
path: root/i386-gen.c
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@celest.fr>2010-03-13 11:03:40 +0100
committerThomas Preud'homme <thomas.preudhomme@celest.fr>2010-03-13 11:03:40 +0100
commit406bee985de85229e0ba54a9efa767c194262d0c (patch)
tree2dee8785db170e33b235771ebdf7d43985b80c31 /i386-gen.c
parentfa3f0c7c00c4e5da92e4e4f1a06f193507d56261 (diff)
Imported Upstream version 0.9.25
Diffstat (limited to 'i386-gen.c')
-rw-r--r--i386-gen.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/i386-gen.c b/i386-gen.c
index a3d2743..f958ab5 100644
--- a/i386-gen.c
+++ b/i386-gen.c
@@ -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;