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 "c99_compat.h"
|
||||
#include "c11_compat.h"
|
||||
|
||||
/* Compute the size of an array */
|
||||
#ifndef ARRAY_SIZE
|
||||
|
Reference in New Issue
Block a user