mirror of https://github.com/python/cpython.git
gh-91731: Don't define 'static_assert' in C++11 where is a keyword to avoid UB (GH-93700)
This commit is contained in:
parent
259dd71c32
commit
65ff27c7d3
|
@ -12,8 +12,10 @@
|
|||
|
||||
// static_assert is defined in glibc from version 2.16. Before it requires
|
||||
// compiler support (gcc >= 4.6) and is called _Static_assert.
|
||||
// In C++ 11 static_assert is a keyword, redefining is undefined behaviour.
|
||||
#if (defined(__GLIBC__) \
|
||||
&& (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 16)) \
|
||||
&& !(defined(__cplusplus) && __cplusplus >= 201103L) \
|
||||
&& !defined(static_assert))
|
||||
# define static_assert _Static_assert
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Avoid defining the ``static_assert`` when compiling with C++ 11, where this
|
||||
is a keyword and redefining it can lead to undefined behavior. Patch by
|
||||
Pablo Galindo
|
Loading…
Reference in New Issue