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 --- tccpp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tccpp.c') diff --git a/tccpp.c b/tccpp.c index 2c276c2..1803fe3 100644 --- a/tccpp.c +++ b/tccpp.c @@ -3345,9 +3345,8 @@ ST_FUNC void preprocess_init(TCCState *s1) s1->pack_stack[0] = 0; s1->pack_stack_ptr = s1->pack_stack; - isidnum_table['$' - CH_EOF] = (parse_flags & PARSE_FLAG_ASM_FILE) || + isidnum_table['$' - CH_EOF] = tcc_state->dollars_in_identifiers ? IS_ID : 0; - isidnum_table['.' - CH_EOF] = (parse_flags & PARSE_FLAG_ASM_FILE) ? IS_ID : 0; } ST_FUNC void preprocess_new(void) -- cgit v1.3.1