]> granicus.if.org Git - python/commitdiff
Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X.
authorNed Deily <nad@python.org>
Mon, 15 Aug 2016 07:07:26 +0000 (03:07 -0400)
committerNed Deily <nad@python.org>
Mon, 15 Aug 2016 07:07:26 +0000 (03:07 -0400)
Patch by Ronald Oussoren.

Include/pyport.h

index 66e00d4e6dd0ae40feabebfc9f172e92b47a7d33..3bab84d690a5bfb211a591c6113ecee2eac2970c 100644 (file)
@@ -688,6 +688,12 @@ extern pid_t forkpty(int *, char *, struct termios *, struct winsize *);
 #endif
 
 #ifdef _PY_PORT_CTYPE_UTF8_ISSUE
+#ifndef __cplusplus
+   /* The workaround below is unsafe in C++ because
+    * the <locale> defines these symbols as real functions,
+    * with a slightly different signature.
+    * See issue #10910
+    */
 #include <ctype.h>
 #include <wctype.h>
 #undef isalnum
@@ -705,6 +711,7 @@ extern pid_t forkpty(int *, char *, struct termios *, struct winsize *);
 #undef toupper
 #define toupper(c) towupper(btowc(c))
 #endif
+#endif
 
 
 /* Declarations for symbol visibility.