diff options
-rw-r--r-- | src/prelude.h | 20 | ||||
-rw-r--r-- | src/thread.h | 8 | ||||
-rw-r--r-- | tests/main.c | 1 |
3 files changed, 17 insertions, 12 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 diff --git a/src/thread.h b/src/thread.h index db11bd8..dbf11ce 100644 --- a/src/thread.h +++ b/src/thread.h @@ -11,14 +11,6 @@ #include "prelude.h" #include <pthread.h> -#if __STDC_VERSION__ < C23 && !defined(thread_local) -# if BFS_USE_THREADS_H -# include <threads.h> -# else -# define thread_local _Thread_local -# endif -#endif - /** Thread entry point type. */ typedef void *thread_fn(void *arg); diff --git a/tests/main.c b/tests/main.c index 7386469..e4d9e61 100644 --- a/tests/main.c +++ b/tests/main.c @@ -9,7 +9,6 @@ #include "tests.h" #include "bfstd.h" #include "color.h" -#include "thread.h" #include <locale.h> #include <stdio.h> #include <stdlib.h> |