Message ID | HE1PR07MB158094A26358EEC38DCC49DAE47A0@HE1PR07MB1580.eurprd07.prod.outlook.com |
---|---|
State | New |
Headers | show |
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.
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>