From 70dbe169b2e714ea24d6e0953ec96ac19c6cf0df Mon Sep 17 00:00:00 2001 From: seyko Date: Fri, 10 Apr 2015 16:31:12 +0300 Subject: fix a preprocessor for .S * tell a right line number in error message if a #line directive is wrong * don't print an error message if we preprocess a .S file and #line directive is wrong. This is the case of the # 4026 bytes comment in *.S file. * preprocess_skip: skip a line with if (parse_flags & PARSE_FLAG_ASM_COMMENTS) p = parse_line_comment(p); if line starts with # and a preprocessor command not found. A test program: #if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE) # This repeats until either a device doesn't exist, or until #endif * remove a second definition of the TOK_FLAG_* and PARSE_FLAG_* from the tccpp.c --- libtcc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libtcc.c') diff --git a/libtcc.c b/libtcc.c index 4cea4a8..fbc2e50 100644 --- a/libtcc.c +++ b/libtcc.c @@ -1177,13 +1177,13 @@ ST_FUNC int tcc_add_file_internal(TCCState *s1, const char *filename, int flags) #ifdef CONFIG_TCC_ASM if (!strcmp(ext, "S")) { - /* preprocessed assembler */ + /* non preprocessed assembler */ ret = tcc_assemble(s1, 1); goto the_end; } if (!strcmp(ext, "s")) { - /* non preprocessed assembler */ + /* preprocessed assembler */ ret = tcc_assemble(s1, 0); goto the_end; } -- cgit v1.3.1