introduce c11_compat.h to provide C11 things in C99

Right now, all it does is provide the new standard `static_assert()` name.

Fixes: fbf7c38da3 ("egl/wayland: use bitset.h for `formats` bit set")
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Tested-by: Bhushan Shah <bshah@kde.org>
This commit is contained in:
Eric Engestrom 2019-07-23 13:44:33 +01:00
parent 64ffc289be
commit 9668d7f539
2 changed files with 28 additions and 0 deletions

27
include/c11_compat.h Normal file
View File

@ -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_ */

View File

@ -27,6 +27,7 @@
#include <assert.h>
#include "c99_compat.h"
#include "c11_compat.h"
/* Compute the size of an array */
#ifndef ARRAY_SIZE