From d3e85e80fd192d3fb19fa207bd6ce158a012b45a Mon Sep 17 00:00:00 2001 From: seyko Date: Tue, 5 Apr 2016 10:43:50 +0300 Subject: Identifiers can start and/or contain '.' in *.S modified version of the old one which don't allow '.' in #define Identifiers. This allow correctly preprocess the following code in *.S #define SRC(y...) \ 9999: y; \ .section __ex_table, "a"; \ .long 9999b, 6001f ; \ // .previous SRC(1: movw (%esi), %bx) 6001: A test included. --- tcc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'tcc.h') diff --git a/tcc.h b/tcc.h index 0200207..2e1e32f 100644 --- a/tcc.h +++ b/tcc.h @@ -957,7 +957,9 @@ struct TCCState { #define DEF_ASM(x) DEF(TOK_ASM_ ## x, #x) #define TOK_ASM_int TOK_INT -#define TOK_ASM_weak TOK_WEAK1 +#define DEF_ASMDIR(x) DEF(TOK_ASMDIR_ ## x, "." #x) +#define TOK_ASMDIR_FIRST TOK_ASMDIR_byte +#define TOK_ASMDIR_LAST TOK_ASMDIR_section #if defined TCC_TARGET_I386 || defined TCC_TARGET_X86_64 /* only used for i386 asm opcodes definitions */ -- cgit v1.3.1