mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2025-12-25 02:30:11 +01:00
helpers: don't override C++11's built-in static_assert
The #ifndef doesn't work with the built-in static_assert from C++11, so it ends up getting redefined. It seems that there are other versions of static_assert internally in some C++ standard library implementations that have additional arguments, and these also get overwritten by the two-argument version here. Detect if we're using a suitably-recent version of C++ and avoid the redefintion in that case. Signed-off-by: Ray Smith <rsmith@brightsign.biz>
This commit is contained in:
parent
302a1b143f
commit
7b1520c4d9
1 changed files with 2 additions and 0 deletions
|
|
@ -181,6 +181,7 @@ do { \
|
||||||
* @param cond Expression to check for truth
|
* @param cond Expression to check for truth
|
||||||
* @param msg Message to print on failure
|
* @param msg Message to print on failure
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && __cplusplus >= 201103L)
|
||||||
#ifndef static_assert
|
#ifndef static_assert
|
||||||
# ifdef _Static_assert
|
# ifdef _Static_assert
|
||||||
# define static_assert(cond, msg) _Static_assert(cond, msg)
|
# define static_assert(cond, msg) _Static_assert(cond, msg)
|
||||||
|
|
@ -188,6 +189,7 @@ do { \
|
||||||
# define static_assert(cond, msg)
|
# define static_assert(cond, msg)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Ensure argument is of given type */
|
/** Ensure argument is of given type */
|
||||||
#ifndef TYPEVERIFY
|
#ifndef TYPEVERIFY
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue