From a25325e9be13e52a198807b443bdfbfbe5dcaf33 Mon Sep 17 00:00:00 2001 From: Joe Soroka Date: Tue, 1 Feb 2011 15:26:21 -0800 Subject: [PATCH] tccasm: define __ASSEMBLER__ for .S files, like gcc does --- libtcc.c | 6 ++++++ tests/asmtest.S | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/libtcc.c b/libtcc.c index 58a5ca07..e5383211 100644 --- a/libtcc.c +++ b/libtcc.c @@ -1080,6 +1080,12 @@ ST_FUNC int tcc_add_file_internal(TCCState *s1, const char *filename, int flags) if (ext[0]) ext++; +#ifdef CONFIG_TCC_ASM + /* if .S file, define __ASSEMBLER__ like gcc does */ + if (!strcmp(ext, "S")) + tcc_define_symbol(s1, "__ASSEMBLER__", NULL); +#endif + /* open the file */ ret = tcc_open(s1, filename); if (ret < 0) { diff --git a/tests/asmtest.S b/tests/asmtest.S index f6fecde5..0d4c0fc9 100644 --- a/tests/asmtest.S +++ b/tests/asmtest.S @@ -564,3 +564,7 @@ int $0x10 pushl $1 pushw $1 push $1 + +#ifdef __ASSEMBLER__ // should be defined, for S files + inc %eax +#endif -- 2.11.4.GIT