This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH committed] Fix build failure with MPFR 2.4.x (gimple-ssa-sprintf.c)
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Martin Sebor <msebor at gmail dot com>
- Cc: Markus Trippelsdorf <markus at trippelsdorf dot de>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 27 Jan 2017 08:41:59 +0100
- Subject: Re: [PATCH committed] Fix build failure with MPFR 2.4.x (gimple-ssa-sprintf.c)
- Authentication-results: sourceware.org; auth=none
- References: <20170124093757.GA288@x4> <fd6f2d44-e1bc-aa70-a277-469b6c272e30@gmail.com>
Hi Martin,
> On 01/24/2017 02:37 AM, Markus Trippelsdorf wrote:
>> MPFR_RNDx was introduced in MPFR 3.0.0. Since the minimal version that
>> gcc checks for is 2.4.0, this leads to a build failure.
>>
>> The fix is straightforward.
>>
>> Tested on x86_64-pc-linux-gnu. Committed to trunk as obvious.
>>
>> * gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to
>> GMP_RNDx for compatibility.
>
> This was changed once before for this reason (in r240350). I forgot
> all about it and put it back in my latest patch for some reason. I
> don't remember why exactly but I suspect I might have been trying to
> overcome some MPFR oddity. It might help to #undef the MPFR_RNDx
> macros after including <mpfr.h> to avoid this in the future. In any
> event, thanks for the fix.
we certainly should do something like this: your latest patch introduced
the same failure again:
/vol/gcc/src/hg/trunk/local/gcc/gimple-ssa-sprintf.c: In function 'long long unsigned int {anonymous}::format_floating_max(tree, char, long long int)':
/vol/gcc/src/hg/trunk/local/gcc/gimple-ssa-sprintf.c:1501:27: error: 'MPFR_RNDN' was not declared in this scope
mpfr_from_real (x, &rv, MPFR_RNDN);
^
Makefile:1098: recipe for target 'gimple-ssa-sprintf.o' failed
make[3]: *** [gimple-ssa-sprintf.o] Error 1
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University