]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Avoid compilation errors in MinGW native builds of GDB
authorEli Zaretskii <eliz@gnu.org>
Sat, 27 Jan 2018 16:34:46 +0000 (18:34 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 27 Jan 2018 16:40:04 +0000 (18:40 +0200)
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.

(cherry picked from commit b2a426e2c5632644b6b8bc0dde4cd32d42d548e2)

gdb/ChangeLog
gdb/python/python-internal.h

index 21b086c9d4909a21a441090c97ddbb02429ebe53..6d974198834e9e4db28e91c4ab4c85119f5ffbee 100644 (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-24  Pedro Alves  <palves@redhat.com>
 
        GCC PR libstdc++/83906
index f32a2582093d67bc05933a6e4048d6a636f475f4..c110588f76e4ea31af7062289b74fe4da31d4ba5 100644 (file)
 #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