From 2bf43b5483fb65b19b6277948d6438d7c4ccc3bc Mon Sep 17 00:00:00 2001 From: seyko Date: Sun, 3 Apr 2016 11:01:05 +0300 Subject: reverse of the "Identifiers can start and/or contain '.'" - Identifiers can start and/or contain '.' in PARSE_FLAG_ASM_FILE - Move all GAS directives under TOK_ASMDIR prefix This patches breaks compilation of the tccboot (linux 2.4.26 kernel). A test.S which fails with this patches: #define SRC(y...) \ 9999: y; \ .section __ex_table, "a"; \ .long 9999b, 6001f<---->; \ .previous SRC(1:<>movw (%esi), %bx<------>) // 029-test.S:7: error: macro 'SRC' used with too many args --- tcctok.h | 57 ++++++++++++++++++++++++++------------------------------- 1 file changed, 26 insertions(+), 31 deletions(-) (limited to 'tcctok.h') diff --git a/tcctok.h b/tcctok.h index b2fbebf..31b6dae 100644 --- a/tcctok.h +++ b/tcctok.h @@ -301,40 +301,35 @@ #endif /* Tiny Assembler */ - DEF_ASMDIR(byte) /* must be first directive */ - DEF_ASMDIR(word) - DEF_ASMDIR(align) - DEF_ASMDIR(p2align) - DEF_ASMDIR(skip) - DEF_ASMDIR(space) - DEF_ASMDIR(string) - DEF_ASMDIR(asciz) - DEF_ASMDIR(ascii) - DEF_ASMDIR(file) - DEF_ASMDIR(globl) - DEF_ASMDIR(global) - DEF_ASMDIR(weak) - DEF_ASMDIR(hidden) - DEF_ASMDIR(ident) - DEF_ASMDIR(size) - DEF_ASMDIR(type) - DEF_ASMDIR(text) - DEF_ASMDIR(data) - DEF_ASMDIR(bss) - DEF_ASMDIR(previous) - DEF_ASMDIR(fill) - DEF_ASMDIR(org) - DEF_ASMDIR(quad) + DEF_ASM(byte) + DEF_ASM(word) + DEF_ASM(align) + DEF_ASM(p2align) + DEF_ASM(skip) + DEF_ASM(space) + DEF_ASM(string) + DEF_ASM(asciz) + DEF_ASM(ascii) + DEF_ASM(file) + DEF_ASM(globl) + DEF_ASM(global) + DEF_ASM(hidden) + DEF_ASM(ident) + DEF_ASM(size) + DEF_ASM(type) + DEF_ASM(text) + DEF_ASM(data) + DEF_ASM(bss) + DEF_ASM(previous) + DEF_ASM(fill) + DEF_ASM(org) + DEF_ASM(quad) #if defined(TCC_TARGET_I386) - DEF_ASMDIR(code16) - DEF_ASMDIR(code32) + DEF_ASM(code16) + DEF_ASM(code32) #elif defined(TCC_TARGET_X86_64) - DEF_ASMDIR(code64) + DEF_ASM(code64) #endif - DEF_ASMDIR(short) - DEF_ASMDIR(long) - DEF_ASMDIR(int) - DEF_ASMDIR(section) /* must be last directive */ #if defined TCC_TARGET_I386 || defined TCC_TARGET_X86_64 #include "i386-tok.h" -- cgit v1.3.1