summaryrefslogtreecommitdiff
path: root/CHANGES.current
diff options
context:
space:
mode:
authorAlec Cooper <ahnolds@gmail.com>2015-12-23 18:38:31 -0500
committerAlec Cooper <ahnolds@gmail.com>2015-12-23 19:06:50 -0500
commit79371b9a797bbf41c55250242ebf2fbb3c776b0d (patch)
treed5a6dc046ab3ef45a282dd81985f7f18b0c2d0ce /CHANGES.current
parent2f8a7b822d1a78c421dd4398d4f5ef21ab69ff0c (diff)
downloadswig-79371b9a797bbf41c55250242ebf2fbb3c776b0d.tar.gz
Adding information about PyInt/PyLong conversion updates to CHANGES.current
Diffstat (limited to 'CHANGES.current')
-rw-r--r--CHANGES.current19
1 files changed, 19 insertions, 0 deletions
diff --git a/CHANGES.current b/CHANGES.current
index 050ff54cc..e501bf836 100644
--- a/CHANGES.current
+++ b/CHANGES.current
@@ -5,6 +5,25 @@ See the RELEASENOTES file for a summary of changes in each release.
Version 3.0.8 (in progress)
===========================
+2015-12-23: ahnolds
+ [Python] Fixes for conversion of signed and unsigned integer types:
+
+ No longer check for PyInt objects in Python3. Because PyInt_Check
+ and friends are #defined to the corresponding PyLong methods, this
+ had caused errors in Python3 where values greater than what could be
+ stored in a long were incorrectly interpreted as the value -1 with
+ the Python error indicator set to OverflowError. This applies to
+ both the conversions PyLong->long and PyLong->double.
+
+ Conversion from PyLong to long, unsigned long, long long, and
+ unsigned long long now raise OverflowError instead of TypeError in
+ both Python2 and Python3 for PyLong values outside the range
+ expressible by the corresponding C type. This matches the existing
+ behavior for other integral types (signed and unsigned ints, shorts,
+ and chars), as well as the conversion for PyInt to all numeric
+ types. This also indirectly applies to the size_t and ptrdiff_t
+ types, which depend on the conversions for unsigned long and long.
+
2015-12-19: wsfulton
[Python] Python 2 Unicode UTF-8 strings can be used as inputs to char * or
std::string types if the generated C/C++ code has SWIG_PYTHON_2_UNICODE defined.