diff mbox

[RFC] Update gmp/mpfr/mpc minimum versions

Message ID HE1PR07MB158094A26358EEC38DCC49DAE47A0@HE1PR07MB1580.eurprd07.prod.outlook.com
State New
Headers show

Commit Message

Bernd Edlinger May 3, 2016, 8:04 p.m. UTC
On 28.04.2016 09:09, Richard Biener wrote:
>
> As said elsewhere the main reason for all of this is to make the
> in-tree builds work better for newer archs that are not happy with
> the versions provided by download_prerequesites.  This should come
> with a documentation adjustment that the only tested in-tree
> versions are those downloaded by dowload_prerequesites.

That patch is installed now, and so far nothing bad has happened.

> Please address updating the minimum supported _installed_ version
> separately (in fact I do maintain a patch to disable stuff to be
> able to go back to even older mpfr versions ... :/).
>
> SLES 11 ships with mpfr 2.3.2, mpc 0.8 and gmp 4.2.3 while SLES 12
> and openSUSE Leap have gmp 5.1.3, mpfr 3.1.2 and mpc 1.0.2.

Of course updating to a more recent gmp version is not the most
important thing in the world, and I am not trying to make gcc emit
an error when compiling gmp 5.1.3, but I think emitting a warning
for this code would be fair.

So here is the next step.

This patch raises the installed gmp version to 6.0.0 or higher,
the installed mpfr version to 3.1.1 or higher and the
installed mpc version to 0.9 or higher.  So Jakub's currently
installed versions will be fine, even a bit older versions
will work, but unfortunately gmp 5.1.3 will not work.

I also attached a sketch of what I'd like to propose on the
libstdc++ list, once we can rely on the gmp.h not to trigger
these new warnings in cstddef.  With the gmp 5.1.3 or earlier
one of this warnings made the boot-strap fail in stage2.

Boot-strapped and reg-tested on x86_64-linux-gnu.
Is it OK for trunk?


Thanks
Bernd.
2016-05-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* configure.ac (mpfr): Adjust check to new minimum gmp, mpfr and mpc
	versions.
	* configure: Regenerated.

gcc/
2016-05-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* doc/install.texi: Adjust gmp/mpfr/mpc minimum versions.

gcc/fortran/
2016-05-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* simplify.c (gfc_simplify_fraction): Remove pre-3.1.0 mpfr
	compatibility code.

Comments

Richard Biener May 4, 2016, 7:45 a.m. UTC | #1
On Tue, 3 May 2016, Bernd Edlinger wrote:

> On 28.04.2016 09:09, Richard Biener wrote:
> >
> > As said elsewhere the main reason for all of this is to make the
> > in-tree builds work better for newer archs that are not happy with
> > the versions provided by download_prerequesites.  This should come
> > with a documentation adjustment that the only tested in-tree
> > versions are those downloaded by dowload_prerequesites.
> 
> That patch is installed now, and so far nothing bad has happened.
> 
> > Please address updating the minimum supported _installed_ version
> > separately (in fact I do maintain a patch to disable stuff to be
> > able to go back to even older mpfr versions ... :/).
> >
> > SLES 11 ships with mpfr 2.3.2, mpc 0.8 and gmp 4.2.3 while SLES 12
> > and openSUSE Leap have gmp 5.1.3, mpfr 3.1.2 and mpc 1.0.2.
> 
> Of course updating to a more recent gmp version is not the most
> important thing in the world, and I am not trying to make gcc emit
> an error when compiling gmp 5.1.3, but I think emitting a warning
> for this code would be fair.
> 
> So here is the next step.
> 
> This patch raises the installed gmp version to 6.0.0 or higher,
> the installed mpfr version to 3.1.1 or higher and the
> installed mpc version to 0.9 or higher.  So Jakub's currently
> installed versions will be fine, even a bit older versions
> will work, but unfortunately gmp 5.1.3 will not work.
> 
> I also attached a sketch of what I'd like to propose on the
> libstdc++ list, once we can rely on the gmp.h not to trigger
> these new warnings in cstddef.  With the gmp 5.1.3 or earlier
> one of this warnings made the boot-strap fail in stage2.
> 
> Boot-strapped and reg-tested on x86_64-linux-gnu.
> Is it OK for trunk?

No, I don't see a compelling reason to force the minimum installed
version to be higher than today.

Richard.
diff mbox

Patch

Index: libstdc++-v3/include/c_global/cstdarg
===================================================================
--- libstdc++-v3/include/c_global/cstdarg	(revision 235816)
+++ libstdc++-v3/include/c_global/cstdarg	(working copy)
@@ -36,15 +36,18 @@ 
 // ISO C++ 14882: 20.4.6  C library
 //
 
+#ifndef _GLIBCXX_CSTDARG
+#define _GLIBCXX_CSTDARG 1
+
 #pragma GCC system_header
 
+#ifdef __need___va_list
+#warning __need___va_list should not be defined here
 #undef __need___va_list
+#endif
 #include <bits/c++config.h>
 #include <stdarg.h>
 
-#ifndef _GLIBCXX_CSTDARG
-#define _GLIBCXX_CSTDARG 1
-
 // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
 #ifndef va_end
 #define va_end(ap) va_end (ap)
Index: libstdc++-v3/include/c_global/cstddef
===================================================================
--- libstdc++-v3/include/c_global/cstddef	(revision 235816)
+++ libstdc++-v3/include/c_global/cstddef	(working copy)
@@ -41,11 +41,26 @@ 
 
 #pragma GCC system_header
 
+#ifdef __need_wchar_t
+#warning __need_wchar_t should not be defined here
 #undef __need_wchar_t
+#endif
+#ifdef __need_ptrdiff_t
+#warning __need_ptrdiff_t should not be defined here
 #undef __need_ptrdiff_t
+#endif
+#ifdef __need_size_t
+#warning __need_size_t should not be defined here
 #undef __need_size_t
+#endif
+#ifdef __need_NULL
+#warning __need_NULL should not be defined here
 #undef __need_NULL
+#endif
+#ifdef __need_wint_t
+#warning __need_wint_t should not be defined here
 #undef __need_wint_t
+#endif
 #include <bits/c++config.h>
 #include <stddef.h>