authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-12-02 10:47:19+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-12-03 12:07:34+01:00
log084ec9781183c072eeb69e76ae12ee4fdb4bad5c
tree846f674489e89b696a8ec53724c8b247f3620002
parentace8396076992a51be0e71cc0dafa8ecd55b64b5
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

zig.h: Introduce object format macros.


1 files changed, 18 insertions(+), 4 deletions(-)

lib/zig.h+18-4
...@@ -10,6 +10,8 @@...@@ -10,6 +10,8 @@
10#define zig_gnuc10#define zig_gnuc
11#elif defined(__GNUC__)11#elif defined(__GNUC__)
12#define zig_gnuc12#define zig_gnuc
13#elif defined(__IBMC__)
14#define zig_xlc
13#elif defined(__TINYC__)15#elif defined(__TINYC__)
14#define zig_tinyc16#define zig_tinyc
15#elif defined(__slimcc__)17#elif defined(__slimcc__)
...@@ -79,6 +81,18 @@...@@ -79,6 +81,18 @@
79#define zig_big_endian 181#define zig_big_endian 1
80#endif82#endif
8183
84#if defined(_WIN32)
85#define zig_coff
86#elif defined(__ELF__)
87#define zig_elf
88#elif defined(__MVS__)
89#define zig_goff
90#elif defined(__MACH__)
91#define zig_macho
92#elif defined(_AIX)
93#define zig_xcoff
94#endif
95
82#define zig_concat(lhs, rhs) lhs##rhs96#define zig_concat(lhs, rhs) lhs##rhs
83#define zig_expand_concat(lhs, rhs) zig_concat(lhs, rhs)97#define zig_expand_concat(lhs, rhs) zig_concat(lhs, rhs)
8498
...@@ -236,14 +250,14 @@...@@ -236,14 +250,14 @@
236#define zig_mangle_c(symbol) "_" symbol250#define zig_mangle_c(symbol) "_" symbol
237#endif /* zig_x86_64 */251#endif /* zig_x86_64 */
238#else /* zig_msvc */252#else /* zig_msvc */
239#if __APPLE__253#if defined(zig_macho)
240#define zig_mangle_c(symbol) "_" symbol254#define zig_mangle_c(symbol) "_" symbol
241#else /* __APPLE__ */255#else /* zig_macho */
242#define zig_mangle_c(symbol) symbol256#define zig_mangle_c(symbol) symbol
243#endif /* __APPLE__ */257#endif /* zig_macho */
244#endif /* zig_msvc */258#endif /* zig_msvc */
245259
246#if (zig_has_attribute(alias) || defined(zig_tinyc)) && !__APPLE__260#if (zig_has_attribute(alias) || defined(zig_tinyc)) && !defined(zig_macho)
247#define zig_export(symbol, name) __attribute__((alias(symbol)))261#define zig_export(symbol, name) __attribute__((alias(symbol)))
248#elif defined(zig_msvc)262#elif defined(zig_msvc)
249#define zig_export(symbol, name) ; \263#define zig_export(symbol, name) ; \