Stefan Farfeleder wrote:
[ ... fabsl() ... ]
> > What standard defines this thing, which g++ has as a built-in?
> >
> > Alternately, the use could avoid adding the "-fno-builtin", and
> > the problem would go away.
> 
> ISO C99
> 
> 7.12.7.2 The fabs functions
> Synopsis
>     #include <math.h>
>     double fabs(double x);
>     float fabsf(float x);
>     long double fabsl(long double x);


Thanks; that's exactly what I wanted to know.

The answer, then, is that FreeBSD is not fully compliant with ISO
C99, although there is work in progress to add compliance.

I personally don't understand why the avoidance of the built-in.

It's worthwhile adding the function, but rather than doing this one
at a time, and finding out 10 years later that FreeBSD is finally
compliant (in 2011, after the 2009 version of the standard is out ;^)),
it's probably a better idea to write an "external reference compliance
program", so that you can compile it up, and find out all the undefined
references at once, so that we can make a concerted effort.

I expect this will have to be done by someone with access to the ISO
C99 standard, unles it's postied online for free somewhere?

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to