Avoid compilation errors in MinGW native builds of GDB

The error is triggered by including python-internal.h, and the
error message is:

     In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
	      from build-gnulib/import/math.h:27,
	      from d:/usr/Python26/include/pyport.h:235,
	      from d:/usr/Python26/include/Python.h:58,
	      from python/python-internal.h:94,
	      from python/py-arch.c:24:
     d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
        using ::hypot;
	        ^~~~~

This happens because Python headers define 'hypot' to expand to
'_hypot' in the Windows builds.

gdb/ChangeLog:
2018-01-27  Eli Zaretskii  <eliz@gnu.org>

	* python/python-internal.h (_hypot) [__MINGW32__]: Define back to
	'hypoth'.  This avoids a compilation error.
This commit is contained in:
Eli Zaretskii 2018-01-27 18:34:46 +02:00
parent de54ee813f
commit b2a426e2c5
2 changed files with 28 additions and 0 deletions

View File

@ -1,3 +1,25 @@
2018-01-27 Eli Zaretskii <eliz@gnu.org>
Avoid compilation errors in MinGW native builds
The error is triggered by including python-internal.h, and the
error message is:
In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
from build-gnulib/import/math.h:27,
from d:/usr/Python26/include/pyport.h:235,
from d:/usr/Python26/include/Python.h:58,
from python/python-internal.h:94,
from python/py-arch.c:24:
d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
using ::hypot;
^~~~~
This happens because Python headers define 'hypot' to expand t
'_hypot' in the Windows builds.
* python/python-internal.h (_hypot) [__MINGW32__]: Define back to
'hypoth'. This avoids a compilation error.
2018-01-26 Alan Hayward <alan.hayward@arm.com>
* MAINTAINERS (Write After Approval): Fix ordering.

View File

@ -85,6 +85,12 @@
#define HAVE_SNPRINTF 1
#endif
/* Another kludge to avoid compilation errors because MinGW defines
'hypot' to '_hypot', but the C++ headers says "using ::hypot". */
#ifdef __MINGW32__
# define _hypot hypot
#endif
/* Request clean size types from Python. */
#define PY_SSIZE_T_CLEAN