g++-3.4 bug

Marc Glisse marc.glisse at inria.fr
Tue Feb 21 21:31:00 CET 2012

On Mon, 20 Feb 2012, Torbjorn Granlund wrote:

> Marc Glisse <marc.glisse at inria.fr> writes:
>  Yes, my main concern is whether I should let people notice that the
>  testsuite is failing so they try a more recent compiler, or work
>  around it by disabling the use of __builtin_constant_p for 3.4.* (and
>  anything older?).
> If just the test suite is miscompiled,

libgmp.* and libgmpxx.* seem fine.

> and the compiler is actually still used, then we might as well make a 
> (trivial) workaround in the test suite.

I am not sure what you mean. Note that as is, a g++34 user who multiplies 
a mpz_class by 4u (what the testsuite does) in his code is likely to hit 
the bug. I am not really happy with hiding the testsuite failure, I'd 
rather either let the testsuite noisily fail, or (trivially) work around 
the bug in gmpxx.h so the user's code is safe too.

(now that I think about it, there is a testsuite failure on solaris 
(likely with g++-3.4.3) visible at http://hydra.nixos.org/build/2112917 
when creating a mpz_class from an mpz_t, 3.4 is really an unlucky number)

>  which last I checked didn't work with the master repos ;-)
>  (it doesn't understand the instruction jb,pt in
>  mpn/x86_64/mod_34lsub1.asm (and neither does oracle))
> I suppose we could as well remove it.  Now done.


Marc Glisse

More information about the gmp-devel mailing list