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:
27
include/c11_compat.h
Normal file
27
include/c11_compat.h
Normal 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_ */
|
@@ -27,6 +27,7 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
#include "c99_compat.h"
|
#include "c99_compat.h"
|
||||||
|
#include "c11_compat.h"
|
||||||
|
|
||||||
/* Compute the size of an array */
|
/* Compute the size of an array */
|
||||||
#ifndef ARRAY_SIZE
|
#ifndef ARRAY_SIZE
|
||||||
|
Reference in New Issue
Block a user