From c1b101cbafaccf4105c8fb87b3730446971c3644 Mon Sep 17 00:00:00 2001 From: Christian Jullien Date: Sun, 25 Sep 2016 12:03:23 +0200 Subject: [PATCH] Improve __*LP*__ predefined macros --- libtcc.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/libtcc.c b/libtcc.c index 12ee171b..72775ef3 100644 --- a/libtcc.c +++ b/libtcc.c @@ -1143,14 +1143,21 @@ LIBTCCAPI TCCState *tcc_new(void) # endif /* TinyCC & gcc defines */ -#if defined TCC_TARGET_PE && defined TCC_TARGET_X86_64 +#if defined(TCC_TARGET_PE) && defined(TCC_TARGET_X86_64) + /* 64bit Windows. */ tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned long long"); tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long long"); tcc_define_symbol(s, "__LLP64__", NULL); -#else +#elif defined(TCC_TARGET_X86_64) || defined(TCC_TARGET_ARM64) + /* Other 64bit systems. */ tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned long"); tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long"); tcc_define_symbol(s, "__LP64__", NULL); +#else + /* Other 32bit systems. */ + tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned long"); + tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long"); + tcc_define_symbol(s, "__ILP32__", NULL); #endif #ifdef TCC_TARGET_PE -- 2.11.4.GIT