Issue #16881: Fix Py_ARRAY_LENGTH macro for GCC < 3.1.

This commit is contained in:
Christian Heimes 2013-01-06 16:42:20 +01:00
commit fb4b7b40e4
2 changed files with 7 additions and 2 deletions

View File

@ -29,8 +29,11 @@
parameters. With correct compiler support, such usage will cause a build parameters. With correct compiler support, such usage will cause a build
error (see Py_BUILD_ASSERT_EXPR). error (see Py_BUILD_ASSERT_EXPR).
Written by Rusty Russell, public domain, http://ccodearchive.net/ */ Written by Rusty Russell, public domain, http://ccodearchive.net/
#if (defined(__GNUC__) && !defined(__STRICT_ANSI__))
Requires at GCC 3.1+ */
#if (defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
((__GNUC__ == 3) && (__GNU_MINOR__ >= 1)) || (__GNUC__ >= 4))
/* Two gcc extensions. /* Two gcc extensions.
&a[0] degrades to a pointer: a different type from an array */ &a[0] degrades to a pointer: a different type from an array */
#define Py_ARRAY_LENGTH(array) \ #define Py_ARRAY_LENGTH(array) \

View File

@ -10,6 +10,8 @@ What's New in Python 3.4.0 Alpha 1?
Core and Builtins 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 - Issue #16856: Fix a segmentation fault from calling repr() on a dict with
a key whose repr raise an exception. a key whose repr raise an exception.