Changes needed to make gmp 4.2.1 build with GCC trunk
Richard Guenther
rguenther at suse.de
Wed May 23 15:42:18 CEST 2007
FYI,
GCC 4.3 will change inline semantics to be standard conforming to
C99. The t-locale.cc test references abort(), so it should include
cstdlib.
If those already are fixed in development sources just ignore this
post.
Thanks,
Richard.
Index: gmp-h.in
===================================================================
--- gmp-h.in.orig 2006-04-11 20:10:15.000000000 +0200
+++ gmp-h.in 2007-05-23 11:08:11.000000000 +0200
@@ -24,6 +24,7 @@ MA 02110-1301, USA. */
#if defined (__cplusplus)
#include <iosfwd> /* for std::istream, std::ostream, std::string */
+#include <cstdio> /* for std::FILE */
#endif
@@ -418,9 +419,15 @@ typedef __mpq_struct *mpq_ptr;
/* gcc has __inline__ in all modes, including strict ansi. Give a prototype
for an inline too, so as to correctly specify "dllimport" on windows, in
- case the function is called rather than inlined. */
+ case the function is called rather than inlined.
+ GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+ inline semantics, unless -fgnu89-inline is used. */
#ifdef __GNUC__
+#ifdef __GNUC_STDC_INLINE__
+#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__))
+#else
#define __GMP_EXTERN_INLINE extern __inline__
+#endif
#define __GMP_INLINE_PROTOTYPES 1
#endif
Index: tests/cxx/t-locale.cc
===================================================================
--- tests/cxx/t-locale.cc.orig 2006-03-14 16:57:54.000000000 +0100
+++ tests/cxx/t-locale.cc 2007-05-23 15:31:10.000000000 +0200
@@ -20,6 +20,7 @@ the Free Software Foundation, Inc., 51 F
MA 02110-1301, USA. */
#include <clocale>
+#include <cstdlib>
#include <iostream>
#include "gmp.h"
--
Richard Guenther <rguenther at suse.de>
Novell / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex
More information about the gmp-devel
mailing list