diff options
| author | Christian Jullien <jullien@coltrane.eligis.com> | 2016-09-25 12:03:23 +0200 |
|---|---|---|
| committer | Christian Jullien <jullien@coltrane.eligis.com> | 2016-09-25 12:03:23 +0200 |
| commit | c1b101cbafaccf4105c8fb87b3730446971c3644 (patch) | |
| tree | e1529b8bb8b9019977cb7448f777fef50e893a59 | |
| parent | e91ce66dadf81d7188945d012e3c4930c776ddad (diff) | |
| download | tinycc-c1b101cbafaccf4105c8fb87b3730446971c3644.tar.gz tinycc-c1b101cbafaccf4105c8fb87b3730446971c3644.tar.bz2 | |
Improve __*LP*__ predefined macros
| -rw-r--r-- | libtcc.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -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 |
