@@ -130,22 +130,18 @@ typedef char bool;
130130#define zig_restrict
131131#endif
132132
133- #if __STDC_VERSION__ >= 201112L
134- #define zig_align (alignment ) _Alignas(alignment)
135- #elif zig_has_attribute (aligned )
136- #define zig_align (alignment ) __attribute__((aligned(alignment)))
133+ #if zig_has_attribute (aligned )
134+ #define zig_under_align (alignment ) __attribute__((aligned(alignment)))
137135#elif _MSC_VER
138- #define zig_align (alignment ) __declspec(align(alignment))
136+ #define zig_under_align (alignment ) __declspec(align(alignment))
139137#else
140- #define zig_align zig_align_unavailable
138+ #define zig_under_align zig_align_unavailable
141139#endif
142140
143- #if zig_has_attribute (aligned )
144- #define zig_under_align (alignment ) __attribute__((aligned(alignment)))
145- #elif _MSC_VER
146- #define zig_under_align (alignment ) zig_align(alignment)
141+ #if __STDC_VERSION__ >= 201112L
142+ #define zig_align (alignment ) _Alignas(alignment)
147143#else
148- #define zig_align zig_align_unavailable
144+ #define zig_align ( alignment ) zig_under_align(alignment)
149145#endif
150146
151147#if zig_has_attribute (aligned )
@@ -165,11 +161,14 @@ typedef char bool;
165161#endif
166162
167163#if zig_has_attribute (section )
168- #define zig_linksection (name , def , ...) def __attribute__((section(name)))
164+ #define zig_linksection (name ) __attribute__((section(name)))
165+ #define zig_linksection_fn zig_linksection
169166#elif _MSC_VER
170- #define zig_linksection (name , def , ...) __pragma(section(name, __VA_ARGS__)) __declspec(allocate(name)) def
167+ #define zig_linksection (name ) __pragma(section(name, read, write)) __declspec(allocate(name))
168+ #define zig_linksection_fn (name ) __pragma(section(name, read, execute)) __declspec(code_seg(name))
171169#else
172- #define zig_linksection (name , def , ...) zig_linksection_unavailable
170+ #define zig_linksection (name ) zig_linksection_unavailable
171+ #define zig_linksection_fn zig_linksection
173172#endif
174173
175174#if zig_has_builtin (unreachable ) || defined(zig_gnuc )
0 commit comments