Fail during bootstrap on the --g -O2 pch

Paolo Carlini pcarlini@suse.de
Thu Nov 23 17:11:00 GMT 2006


Ed Smith-Rowland wrote:

> All,
>
> I'm trying to bootstrap my tr1 special functions patch in shape for 
> people to look at it.
>
> The compile bombs out when building the pre-compiled headers.
> It seems to get the O0g.gch but compile fails on O2g.gch.
>
> Is std::tr1::copysign not available at -O2 -g but is OK at -O0 -g?

I don't see why.

To my best knowledge, on powerpc-darwin _GLIBCXX_USE_C99_MATH_TR1 is 
defined and all the facilities in <tr1/cmath> should be normally 
available, like on linux systems. You should be able to double check 
that in a simple test only including <tr1/cmath> and using 
std::tr1::copysign.

Either something PCHs specific is currently broken on powerpc-darwin or 
_GLIBCXX_USE_C99_MATH_TR1 is undefined unexpectedly.

[snip]

> I'm going to try to reproduce this on a gcc-4.1.1 with a smaller test 
> case.

But note that tr1::cmath is not delivered with gcc-4.1.x... Of course 
you can plug in the mainline library in the 4.1.x compiler but I would 
rather do the above simpler checks, first.

> Meanwhile, I got bessel_function.tcc to work with ::copysign

... eventually, we don't want that, I suppose it's already clear, right? 
Instead, we want to wrap any facility that relies on tr1::cmath in the 
above macro, like for example we are already doing in tr1::random.

> I will send out a tarball patch next after the bootstrap finishes.

Ok, thanks,

> BTW, this is MacOSX 10.3.9.

Not totally unexpected given the triple powerpc-apple-darwin7.9.0 ;)

Paolo.



More information about the Libstdc++ mailing list