summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2013-01-06 16:42:20 +0100
committerChristian Heimes <christian@cheimes.de>2013-01-06 16:42:20 +0100
commitfb4b7b40e4372c14d3da10bd1753822e625c643d (patch)
tree4878ed5bb4cd637d6aafb4fbb8ef8a296ce9b7a6
parent5dd12a5978389ec3dfa7063bbe9a9763b1294027 (diff)
parent61dbb0086952cdc13f3ca89db810ec365a9cf9b7 (diff)
downloadcpython-git-fb4b7b40e4372c14d3da10bd1753822e625c643d.tar.gz
Issue #16881: Fix Py_ARRAY_LENGTH macro for GCC < 3.1.
-rw-r--r--Include/pymacro.h7
-rw-r--r--Misc/NEWS2
2 files changed, 7 insertions, 2 deletions
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 cd1e80db6c..14e021717b 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.