summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2023-11-10 09:58:57 -0500
committerTavian Barnes <tavianator@tavianator.com>2023-11-10 09:58:57 -0500
commit4efbe8eca395c90fc0053c7ba1038ccb7bf69e61 (patch)
tree28cb2bc0052df4b3926d72a9da9df8c4ce59258f
parente25261a90222de75781726a93ab809c660208afd (diff)
downloadbfs-4efbe8eca395c90fc0053c7ba1038ccb7bf69e61.tar.xz
config: Add constants for C standard versions
-rw-r--r--src/bit.h8
-rw-r--r--src/config.h10
-rw-r--r--src/diag.h4
-rw-r--r--src/thread.h2
4 files changed, 16 insertions, 8 deletions
diff --git a/src/bit.h b/src/bit.h
index 3f756f6..21a8076 100644
--- a/src/bit.h
+++ b/src/bit.h
@@ -12,7 +12,7 @@
#include <limits.h>
#include <stdint.h>
-#if __STDC_VERSION__ >= 202311L
+#if __STDC_VERSION__ >= C23
# include <stdbit.h>
#endif
@@ -173,7 +173,7 @@
# define ENDIAN_NATIVE 0
#endif
-#if __STDC_VERSION__ >= 202311L
+#if __STDC_VERSION__ >= C23
# define bswap16 stdc_memreverse8u16
# define bswap32 stdc_memreverse8u32
# define bswap64 stdc_memreverse8u64
@@ -236,7 +236,7 @@ static inline uint8_t bswap8(uint8_t n) {
// C23 polyfill: bit utilities
-#if __STDC_VERSION__ >= 202311L
+#if __STDC_VERSION__ >= C23
# define count_ones stdc_count_ones
# define count_zeros stdc_count_zeros
# define rotate_left stdc_rotate_left
@@ -395,6 +395,6 @@ UINT_OVERLOADS(BIT_CEIL)
#define bit_floor(n) UINT_SELECT(n, bit_floor)(n)
#define bit_ceil(n) UINT_SELECT(n, bit_ceil)(n)
-#endif // __STDC_VERSION__ < 202311L
+#endif // __STDC_VERSION__ < C23
#endif // BFS_BIT_H
diff --git a/src/config.h b/src/config.h
index db62ef8..821e4a9 100644
--- a/src/config.h
+++ b/src/config.h
@@ -8,9 +8,17 @@
#ifndef BFS_CONFIG_H
#define BFS_CONFIG_H
+// Possible __STDC_VERSION__ values
+
+#define C95 199409L
+#define C99 199901L
+#define C11 201112L
+#define C17 201710L
+#define C23 202311L
+
#include <stddef.h>
-#if __STDC_VERSION__ < 202311L
+#if __STDC_VERSION__ < C23
# include <stdalign.h>
# include <stdbool.h>
# include <stdnoreturn.h>
diff --git a/src/diag.h b/src/diag.h
index 870264e..981419e 100644
--- a/src/diag.h
+++ b/src/diag.h
@@ -14,7 +14,7 @@
/**
* static_assert() with an optional second argument.
*/
-#if __STDC_VERSION__ >= 202311L
+#if __STDC_VERSION__ >= C23
# define bfs_static_assert static_assert
#else
# define bfs_static_assert(...) bfs_static_assert_(__VA_ARGS__, #__VA_ARGS__, )
@@ -35,7 +35,7 @@ struct bfs_loc {
/**
* Get the current source code location.
*/
-#if __STDC_VERSION__ >= 202311L
+#if __STDC_VERSION__ >= C23
# define bfs_location() (&(static const struct bfs_loc)BFS_LOC_INIT)
#else
# define bfs_location() (&(const struct bfs_loc)BFS_LOC_INIT)
diff --git a/src/thread.h b/src/thread.h
index b37d45f..8174fe4 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -11,7 +11,7 @@
#include "config.h"
#include <pthread.h>
-#if __STDC_VERSION__ < 202311L && !defined(thread_local)
+#if __STDC_VERSION__ < C23 && !defined(thread_local)
# if BFS_USE_THREADS_H
# include <threads.h>
# else