changeset: 102664:5ca8790f1161 parent: 102661:a4101218364e parent: 102663:27a99a722828 user: Ned Deily date: Mon Aug 15 03:23:23 2016 -0400 files: Include/pyport.h Misc/NEWS description: Issue #10910: merge from 3.5 diff -r a4101218364e -r 5ca8790f1161 Include/pyport.h --- a/Include/pyport.h Mon Aug 15 10:06:16 2016 +0300 +++ b/Include/pyport.h Mon Aug 15 03:23:23 2016 -0400 @@ -677,7 +677,9 @@ #ifdef __FreeBSD__ #include -#if __FreeBSD_version > 500039 +#if (__FreeBSD_version >= 500040 && __FreeBSD_version < 602113) || \ + (__FreeBSD_version >= 700000 && __FreeBSD_version < 700054) || \ + (__FreeBSD_version >= 800000 && __FreeBSD_version < 800001) # define _PY_PORT_CTYPE_UTF8_ISSUE #endif #endif @@ -688,6 +690,12 @@ #endif #ifdef _PY_PORT_CTYPE_UTF8_ISSUE +#ifndef __cplusplus + /* The workaround below is unsafe in C++ because + * the defines these symbols as real functions, + * with a slightly different signature. + * See issue #10910 + */ #include #include #undef isalnum @@ -705,6 +713,7 @@ #undef toupper #define toupper(c) towupper(btowc(c)) #endif +#endif /* Declarations for symbol visibility. diff -r a4101218364e -r 5ca8790f1161 Misc/NEWS --- a/Misc/NEWS Mon Aug 15 10:06:16 2016 +0300 +++ b/Misc/NEWS Mon Aug 15 03:23:23 2016 -0400 @@ -165,6 +165,10 @@ - Issue #26662: Set PYTHON_FOR_GEN in configure as the Python program to be used for file generation during the build. +- Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X. + Also update FreedBSD version checks for the original ctype UTF-8 workaround. + + What's New in Python 3.6.0 alpha 3 ==================================