authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-12-01 15:19:06+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-12-03 11:57:20+01:00
logfa6946f645852363303082447b8087f8213512bb
tree0f69ea8cc032990270f1130c4abd60ec21abcbee
parent023a7fefb1f468f5679ad6f10c0cf0f2946a2ab6
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

zig.h: Add support for C23 keywords.

The old spellings from C11 are deprecated in C23.

1 files changed, 12 insertions(+), 6 deletions(-)

lib/zig.h+12-6
......@@ -15,15 +15,15 @@
1515#include <cpuid.h>
1616#endif
1717
18#if !defined(__cplusplus) && __STDC_VERSION__ <= 201710L
19#if __STDC_VERSION__ >= 199901L
18#if __STDC_VERSION__ >= 202311L
19/* bool, true, and false are provided by the language. */
20#elif __STDC_VERSION__ >= 199901L
2021#include <stdbool.h>
2122#else
2223typedef char bool;
2324#define false 0
2425#define true 1
2526#endif
26#endif
2727
2828#if defined(__clang__)
2929#define zig_clang
......@@ -57,7 +57,9 @@ typedef char bool;
5757#define zig_big_endian 1
5858#endif
5959
60#if __STDC_VERSION__ >= 201112L
60#if __STDC_VERSION__ >= 202311L
61#define zig_threadlocal thread_local
62#elif __STDC_VERSION__ >= 201112L
6163#define zig_threadlocal _Thread_local
6264#elif defined(__GNUC__)
6365#define zig_threadlocal __thread
......@@ -140,7 +142,9 @@ typedef char bool;
140142#define zig_under_align zig_align_unavailable
141143#endif
142144
143#if __STDC_VERSION__ >= 201112L
145#if __STDC_VERSION__ >= 202311L
146#define zig_align(alignment) alignas(alignment)
147#elif __STDC_VERSION__ >= 201112L
144148#define zig_align(alignment) _Alignas(alignment)
145149#else
146150#define zig_align(alignment) zig_under_align(alignment)
......@@ -332,7 +336,9 @@ typedef char bool;
332336#define zig_wasm_memory_grow(index, delta) zig_unimplemented()
333337#endif
334338
335#if __STDC_VERSION__ >= 201112L
339#if __STDC_VERSION__ >= 202311L
340#define zig_noreturn [[noreturn]]
341#elif __STDC_VERSION__ >= 201112L
336342#define zig_noreturn _Noreturn
337343#elif zig_has_attribute(noreturn) || defined(zig_gnuc) || defined(zig_tinyc)
338344#define zig_noreturn __attribute__((noreturn))