From 94bf4d2c227e2073458cabc768d1167e1f3ab2f8 Mon Sep 17 00:00:00 2001 From: grischka Date: Sat, 19 Dec 2009 22:08:52 +0100 Subject: tccpe: improve dllimport --- i386-gen.c | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) (limited to 'i386-gen.c') diff --git a/i386-gen.c b/i386-gen.c index 93af341..0bc41aa 100644 --- a/i386-gen.c +++ b/i386-gen.c @@ -197,33 +197,6 @@ static void gen_modrm(int op_reg, int r, Sym *sym, int c) } } -#ifdef TCC_TARGET_PE -static void mk_pointer(CType *type); -static void indir(void); - -int handle_dllimport(int r, SValue *sv, void (*fn)(int r, SValue *sv)) -{ - if ((sv->r & (VT_VALMASK|VT_SYM|VT_CONST)) != (VT_SYM|VT_CONST)) - return 0; - if (0 == (sv->sym->type.t & VT_IMPORT)) - return 0; - - printf("import %d %04x %s\n", r, ind, get_tok_str(sv->sym->v, NULL)); - - sv->sym->type.t &= ~VT_IMPORT; - ++vtop; - - *vtop = *sv; - mk_pointer(&vtop->type); - indir(); - fn(r, vtop); - - --vtop; - sv->sym->type.t |= VT_IMPORT; - return 1; -} -#endif - /* load 'r' from value 'sv' */ void load(int r, SValue *sv) { @@ -231,7 +204,7 @@ void load(int r, SValue *sv) SValue v1; #ifdef TCC_TARGET_PE - if (handle_dllimport(r, sv, load)) + if (pe_dllimport(r, sv, load)) return; #endif fr = sv->r; @@ -299,7 +272,7 @@ void store(int r, SValue *v) int fr, bt, ft, fc; #ifdef TCC_TARGET_PE - if (handle_dllimport(r, v, store)) + if (pe_dllimport(r, v, store)) return; #endif ft = v->type.t; -- cgit v1.3.1