diff options
| author | seyko <seyko2@gmail.com> | 2016-04-03 11:01:05 +0300 |
|---|---|---|
| committer | seyko <seyko2@gmail.com> | 2016-04-03 11:01:05 +0300 |
| commit | 2bf43b5483fb65b19b6277948d6438d7c4ccc3bc (patch) | |
| tree | eea9c2bcdc8c2a7bb50e65ac5f3b5ca972341c7f /tccpp.c | |
| parent | 80343ab7d829c21c65f8f9a14dd20158d028549f (diff) | |
| download | tinycc-2bf43b5483fb65b19b6277948d6438d7c4ccc3bc.tar.gz tinycc-2bf43b5483fb65b19b6277948d6438d7c4ccc3bc.tar.bz2 | |
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
Diffstat (limited to 'tccpp.c')
| -rw-r--r-- | tccpp.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -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) |
