[DTrace-devel] [PATCH v2 07/23] compiler: add static assertions
Kris Van Hees
kris.van.hees at oracle.com
Wed Dec 6 20:21:20 UTC 2023
On Mon, Nov 27, 2023 at 04:47:13PM +0000, Nick Alcock wrote:
> C11 provides static assertions, and some compilers provide them even before
> C11: so allow them to be used if available, to get earlier warning of
> compile-time problems.
>
> Signed-off-by: Nick Alcock <nick.alcock at oracle.com>
Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>
> ---
> include/sys/compiler.h | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/include/sys/compiler.h b/include/sys/compiler.h
> index 82066e5e48d5..766a955346e8 100644
> --- a/include/sys/compiler.h
> +++ b/include/sys/compiler.h
> @@ -8,6 +8,8 @@
> #ifndef _SYS_COMPILER_H
> #define _SYS_COMPILER_H
>
> +#include <assert.h>
> +
> /*
> * Attributes that vary on a compiler-by-compiler basis.
> */
> @@ -56,4 +58,11 @@
> #define _dt_unused_
>
> #endif
> +
> +/* < C11? turn static assertions into ordinary assertions. */
> +
> +#if (!defined (__STDC_VERSION__) || __STDC_VERSION__ < 201112L) && !defined(_Static_assert)
> +#define _Static_assert(cond, err) assert(cond)
> +#endif
> +
> #endif
> --
> 2.42.0.271.g85384428f1
>
>
More information about the DTrace-devel
mailing list