diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2024-08-27 15:50:42 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2024-08-28 17:33:20 -0400 |
commit | a37a564b66b363cc509cc5cdd16fd65b7950b0be (patch) | |
tree | 17960f7a657cd45d7421ad92c38501730f4c56bc /src/prelude.h | |
parent | 8ca167ee93d4a79f1f24bd959de8b85183577064 (diff) | |
download | bfs-a37a564b66b363cc509cc5cdd16fd65b7950b0be.tar.xz |
prelude: Define thread_local
Diffstat (limited to 'src/prelude.h')
-rw-r--r-- | src/prelude.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/prelude.h b/src/prelude.h index 9aaec04..59fa645 100644 --- a/src/prelude.h +++ b/src/prelude.h @@ -19,10 +19,24 @@ // Get the static_assert() definition as well as __GLIBC__ #include <assert.h> +// Get the convenience macros that became standard spellings in C23 #if __STDC_VERSION__ < C23 -# include <stdalign.h> -# include <stdbool.h> -#endif + +/** _Alignas(), _Alignof() => alignas(), alignof() */ +#include <stdalign.h> +/** _Bool => bool, true, false */ +#include <stdbool.h> + +/** + * C23 deprecates `noreturn void` in favour of `[[noreturn]] void`, so we expose + * _noreturn instead with the other attributes. + */ +// #include <stdnoreturn.h> + +/** Part of <threads.h>, but we don't use anything else from it. */ +#define thread_local _Thread_local + +#endif // !C23 // bfs packaging configuration |