Problem with non-ISO C scalb() builtin

Jim Wilson wilson@specifixinc.com
Thu Sep 25 07:34:00 GMT 2003


On Tue, 2003-09-23 at 16:46, Kaveh R. Ghazi wrote:
> Er, I don't think it is a gcc bug.  The glibc headers on my RH box as
> well as math.h on solaris2.7 & irix6.5 and the xopen standard all
> describe scalb as taking two doubles.  It is scalbn (with an "n") that
> takes a double and an int.  See:

This appears to be a case where we have conflicting prior
implementations, and thus ISO C called the function scalbn instead so as
not to conflict with existing implementations.

When I looked at this, I checked the IEEE FP standard, which recommends
having a scalb (double,int) function in the C library.  I also did "info
libc", and then "CTRL-S scalb".  The manual says the second argument of
scalb is an int.  Looking at the actual header file, I now see that it
is scalb (double, double).  I was mislead by the docs.  I don't know if
the manual has always been wrong, or if the prototype changed sometime
in the past.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



More information about the Gcc-bugs mailing list