This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: basic-improvements merge status


> >>>>> Zack Weinberg writes:
> 
> Zack> David Edelsohn <dje@watson.ibm.com> writes:
> >> Any idea what change in GCC 3.4BIB is causing GCC to "optimize"
> >> 
> >> (float) sin(x)
> >> 
> >> as
> >> 
> >> sinf(x)?
> 
> Zack> I remember such an optimization being implemented but I can't find the
> Zack> change log entry for it.  My recollection is that it was Jan Hubicka
> Zack> who coded it.  Jan?
> 
> 	Yes, it appears to be due to the builtins.def changes by Jan which
> assumes that all of those functions natively are available on every
> target.  One cannot make that assumption.  Testing for the existence of
> those functions on the target is not easy.

I noticed that already and there is patch waiting for that.  So hope it
will get reviewed soon.
I am not quite sure how to deal with this (whether we can autoconfigure
on whether runtime does have them or not).  At the moment I do the
transformation only when -std=c99 or gnu99 is specified when the
transformation is valid as the standard requires these functions.

Honza
> 
> 	In most cases, the transformation will result in a linker error on
> systems which do not provide the function, but libstdc++-v3 graciously
> provides the symbols, creating a recursion in those definitions.
> 
> David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]