diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-03-31 01:47:23 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-31 01:47:23 -0700 |
| commit | a6ed3e6d29b0e2cedfc20048b014cff4e0ae4eaa (patch) | |
| tree | 11b933e936d64f00a7a820a21afe2633b34d5941 /stage1/zig.h | |
| parent | aff71c6132fd17c6fa455a6e7b9f53567e3e55b2 (diff) | |
| parent | e5ba70bb5c176ba553a5458f89004b44da2b93d6 (diff) | |
| download | zig-a6ed3e6d29b0e2cedfc20048b014cff4e0ae4eaa.tar.gz zig-a6ed3e6d29b0e2cedfc20048b014cff4e0ae4eaa.zip | |
Merge pull request #19470 from jacobly0/field-parent-ptr
Rework `@fieldParentPtr` to use RLS
Diffstat (limited to 'stage1/zig.h')
| -rw-r--r-- | stage1/zig.h | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/stage1/zig.h b/stage1/zig.h index 7a1c69575a..ec7508670d 100644 --- a/stage1/zig.h +++ b/stage1/zig.h @@ -130,22 +130,18 @@ typedef char bool; #define zig_restrict #endif -#if __STDC_VERSION__ >= 201112L -#define zig_align(alignment) _Alignas(alignment) -#elif zig_has_attribute(aligned) -#define zig_align(alignment) __attribute__((aligned(alignment))) +#if zig_has_attribute(aligned) +#define zig_under_align(alignment) __attribute__((aligned(alignment))) #elif _MSC_VER -#define zig_align(alignment) __declspec(align(alignment)) +#define zig_under_align(alignment) __declspec(align(alignment)) #else -#define zig_align zig_align_unavailable +#define zig_under_align zig_align_unavailable #endif -#if zig_has_attribute(aligned) -#define zig_under_align(alignment) __attribute__((aligned(alignment))) -#elif _MSC_VER -#define zig_under_align(alignment) zig_align(alignment) +#if __STDC_VERSION__ >= 201112L +#define zig_align(alignment) _Alignas(alignment) #else -#define zig_align zig_align_unavailable +#define zig_align(alignment) zig_under_align(alignment) #endif #if zig_has_attribute(aligned) @@ -165,11 +161,14 @@ typedef char bool; #endif #if zig_has_attribute(section) -#define zig_linksection(name, def, ...) def __attribute__((section(name))) +#define zig_linksection(name) __attribute__((section(name))) +#define zig_linksection_fn zig_linksection #elif _MSC_VER -#define zig_linksection(name, def, ...) __pragma(section(name, __VA_ARGS__)) __declspec(allocate(name)) def +#define zig_linksection(name) __pragma(section(name, read, write)) __declspec(allocate(name)) +#define zig_linksection_fn(name) __pragma(section(name, read, execute)) __declspec(code_seg(name)) #else -#define zig_linksection(name, def, ...) zig_linksection_unavailable +#define zig_linksection(name) zig_linksection_unavailable +#define zig_linksection_fn zig_linksection #endif #if zig_has_builtin(unreachable) || defined(zig_gnuc) |
