From: Christian Heimes Date: Sun, 6 Jan 2013 15:41:56 +0000 (+0100) Subject: Issue #16881: Fix Py_ARRAY_LENGTH macro for GCC < 3.1. X-Git-Tag: v3.3.1rc1~418 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=61dbb0086952cdc13f3ca89db810ec365a9cf9b7;p=python Issue #16881: Fix Py_ARRAY_LENGTH macro for GCC < 3.1. --- diff --git a/Include/pymacro.h b/Include/pymacro.h index 52e8ee3a28..5bb4b3d55a 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 15a9736796..2d076759ea 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,8 @@ What's New in Python 3.3.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.