diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-12-04 01:52:04 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-04 01:52:04 -0500 |
| commit | 19dd6de180275cc3f79a514b5cbc05eb9cbadb75 (patch) | |
| tree | 31b74583e93ce827d36b0149e20e1c1331c1ec71 /lib/zig.h | |
| parent | f68bfe2eb70065b76e187c85a203493be5b4959e (diff) | |
| parent | e3b8658e657118054fd57aa18aff281747f63ee8 (diff) | |
| download | zig-19dd6de180275cc3f79a514b5cbc05eb9cbadb75.tar.gz zig-19dd6de180275cc3f79a514b5cbc05eb9cbadb75.zip | |
Merge pull request #13756 from jacobly0/cbe-behavior
cbe: pass more behavior tests
Diffstat (limited to 'lib/zig.h')
| -rw-r--r-- | lib/zig.h | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -65,8 +65,17 @@ typedef char bool; #elif zig_has_attribute(aligned) #define zig_align(alignment) __attribute__((aligned(alignment))) #elif _MSC_VER +#define zig_align zig_align_unavailable #else -#error the C compiler being used does not support aligning variables +#define zig_align zig_align_unavailable +#endif + +#if zig_has_attribute(aligned) +#define zig_align_fn(alignment) __attribute__((aligned(alignment))) +#elif _MSC_VER +#define zig_align_fn zig_align_fn_unavailable +#else +#define zig_align_fn zig_align_fn_unavailable #endif #if zig_has_builtin(unreachable) @@ -81,6 +90,12 @@ typedef char bool; #define zig_extern extern #endif +#if zig_has_attribute(alias) +#define zig_export(sig, symbol, name) zig_extern sig __attribute__((alias(symbol))) +#else +#define zig_export(sig, symbol, name) __asm(name " = " symbol) +#endif + #if zig_has_builtin(debugtrap) #define zig_breakpoint() __builtin_debugtrap() #elif zig_has_builtin(trap) |
