aboutsummaryrefslogtreecommitdiff
path: root/tccasm.c
diff options
context:
space:
mode:
authorJoe Soroka <gits@joesoroka.com>2011-02-01 08:43:54 -0800
committerJoe Soroka <gits@joesoroka.com>2011-02-01 08:43:54 -0800
commitc59d3426b8060bcba3945f1388763512412a5d4d (patch)
tree96f519dcc38ae775569544bdac98c7ee28a18995 /tccasm.c
parent4d5105c8f1ff1ac4bae592d6c221e5737614bbad (diff)
downloadtinycc-c59d3426b8060bcba3945f1388763512412a5d4d.tar.gz
tinycc-c59d3426b8060bcba3945f1388763512412a5d4d.tar.bz2
tccasm: support .weak labels
Diffstat (limited to 'tccasm.c')
-rw-r--r--tccasm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tccasm.c b/tccasm.c
index 1064ea6..8c62987 100644
--- a/tccasm.c
+++ b/tccasm.c
@@ -481,6 +481,8 @@ static void asm_parse_directive(TCCState *s1)
break;
case TOK_ASM_globl:
case TOK_ASM_global:
+ case TOK_ASM_weak:
+ tok1 = tok;
do {
Sym *sym;
@@ -491,6 +493,8 @@ static void asm_parse_directive(TCCState *s1)
sym->type.t = VT_VOID;
}
sym->type.t &= ~VT_STATIC;
+ if (tok1 == TOK_ASM_weak)
+ sym->type.t |= VT_WEAK;
next();
} while (tok == ',');
break;