diff --git a/Include/pymacro.h b/Include/pymacro.h index 52e8ee3a289..5bb4b3d55ac 100644 --- a/Include/pymacro.h +++ b/Include/pymacro.h @@ -29,8 +29,11 @@ parameters. With correct compiler support, such usage will cause a build error (see Py_BUILD_ASSERT_EXPR). - Written by Rusty Russell, public domain, http://ccodearchive.net/ */ -#if (defined(__GNUC__) && !defined(__STRICT_ANSI__)) + Written by Rusty Russell, public domain, http://ccodearchive.net/ + + Requires at GCC 3.1+ */ +#if (defined(__GNUC__) && !defined(__STRICT_ANSI__) && \ + ((__GNUC__ == 3) && (__GNU_MINOR__ >= 1)) || (__GNUC__ >= 4)) /* Two gcc extensions. &a[0] degrades to a pointer: a different type from an array */ #define Py_ARRAY_LENGTH(array) \ diff --git a/Misc/NEWS b/Misc/NEWS index cd1e80db6ce..14e021717b2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,8 @@ What's New in Python 3.4.0 Alpha 1? Core and Builtins ----------------- +- Issue #16881: Fix Py_ARRAY_LENGTH macro for GCC < 3.1. + - Issue #16856: Fix a segmentation fault from calling repr() on a dict with a key whose repr raise an exception.