From 823f83263012524b27033e908df86b592ee1a21b Mon Sep 17 00:00:00 2001 From: Joe Soroka Date: Wed, 2 Mar 2011 13:31:09 -0800 Subject: tcc: fix weak attribute handling --- tccgen.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'tccgen.c') diff --git a/tccgen.c b/tccgen.c index b84e7b6..3ecfb09 100644 --- a/tccgen.c +++ b/tccgen.c @@ -2927,9 +2927,6 @@ static int parse_btype(CType *type, AttributeDef *ad) case TOK_ATTRIBUTE1: case TOK_ATTRIBUTE2: parse_attribute(ad); - if (ad->weak) { - t |= VT_WEAK; - } if (ad->mode) { u = ad->mode -1; t = (t & ~VT_BTYPE) | u; @@ -3189,9 +3186,6 @@ static void type_decl(CType *type, AttributeDef *ad, int *v, int td) if (tok == TOK_ATTRIBUTE1 || tok == TOK_ATTRIBUTE2) parse_attribute(ad); - if (ad->weak) - type->t |= VT_WEAK; - if (!type1.t) return; /* append type at the end of type1 */ @@ -5445,6 +5439,8 @@ ST_FUNC void decl(int l) func_decl_list(sym); } + if (ad.weak) + type.t |= VT_WEAK; #ifdef TCC_TARGET_PE if (ad.func_import) type.t |= VT_IMPORT; -- cgit v1.3.1