aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Soroka <gits@joesoroka.com>2011-01-20 02:00:50 -0800
committerJoe Soroka <gits@joesoroka.com>2011-01-20 02:00:50 -0800
commitf43fafc68071ff646a5f1b0f21f0641e5cd085fa (patch)
tree1195c330523c90eac4ee6d094a64fd8564a72dff
parent0a50e6c933cb3d470494c203e90808cef6873b06 (diff)
downloadtinycc-f43fafc68071ff646a5f1b0f21f0641e5cd085fa.tar.gz
tinycc-f43fafc68071ff646a5f1b0f21f0641e5cd085fa.tar.bz2
accept multiple comma separated symbols for .globl/.global directives, like gas does
-rw-r--r--tccasm.c4
-rw-r--r--tests/asmtest.S5
2 files changed, 7 insertions, 2 deletions
diff --git a/tccasm.c b/tccasm.c
index 6de2b07..1064ea6 100644
--- a/tccasm.c
+++ b/tccasm.c
@@ -481,7 +481,7 @@ static void asm_parse_directive(TCCState *s1)
break;
case TOK_ASM_globl:
case TOK_ASM_global:
- {
+ do {
Sym *sym;
next();
@@ -492,7 +492,7 @@ static void asm_parse_directive(TCCState *s1)
}
sym->type.t &= ~VT_STATIC;
next();
- }
+ } while (tok == ',');
break;
case TOK_ASM_string:
case TOK_ASM_ascii:
diff --git a/tests/asmtest.S b/tests/asmtest.S
index 3e34455..0ffb9e7 100644
--- a/tests/asmtest.S
+++ b/tests/asmtest.S
@@ -196,6 +196,11 @@ call *%eax
call *0x1000
call func1
+.global L5,L6
+
+L5:
+L6:
+
lcall $0x100, $0x1000
jmp 0x1000