From 9668d7f5393dcc95f3d447a7dfb1c28265a2c9fd Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Tue, 23 Jul 2019 13:44:33 +0100 Subject: [PATCH] introduce c11_compat.h to provide C11 things in C99 Right now, all it does is provide the new standard `static_assert()` name. Fixes: fbf7c38da35afe7f1de0 ("egl/wayland: use bitset.h for `formats` bit set") Signed-off-by: Eric Engestrom Tested-by: Bhushan Shah --- include/c11_compat.h | 27 +++++++++++++++++++++++++++ src/util/macros.h | 1 + 2 files changed, 28 insertions(+) create mode 100644 include/c11_compat.h diff --git a/include/c11_compat.h b/include/c11_compat.h new file mode 100644 index 00000000000..d35740f47a4 --- /dev/null +++ b/include/c11_compat.h @@ -0,0 +1,27 @@ +/* Copyright 2019 Intel Corporation */ +/* SPDX-License-Identifier: MIT */ + +#include "no_extern_c.h" + +#ifndef _C11_COMPAT_H_ +#define _C11_COMPAT_H_ + +#if defined(__cplusplus) + /* This is C++ code, not C */ +#elif (__STDC_VERSION__ >= 201112L) + /* Already C11 */ +#else + + +/* + * C11 static_assert() macro + * assert.h only defines that name for C11 and above + */ +#ifndef static_assert +#define static_assert _Static_assert +#endif + + +#endif /* !C++ && !C11 */ + +#endif /* _C11_COMPAT_H_ */ diff --git a/src/util/macros.h b/src/util/macros.h index 86585f609da..f5f099bb594 100644 --- a/src/util/macros.h +++ b/src/util/macros.h @@ -27,6 +27,7 @@ #include #include "c99_compat.h" +#include "c11_compat.h" /* Compute the size of an array */ #ifndef ARRAY_SIZE -- 2.30.2