libm lacks C99 functions -> no c++11 cmath in libstdc++
Steve Kargl
sgk at troutmask.apl.washington.edu
Wed Jan 29 21:59:49 UTC 2014
On Wed, Jan 29, 2014 at 10:47:35PM +0400, Dmitry Marakasov wrote:
> * Steve Kargl (sgk at troutmask.apl.washington.edu) wrote:
>
> > > - bad enough by itself, it affects libstdc++ from ports' gcc in such a
> > > way that it disables C++11 math completely (along with a lot more
> > > other more widely used math functions)
> > >
> > >
> > > - we may probably implement these by calling less-precise
> > > erf erfc lgamma tgamma as we do with other functions as we alredy
> > > do with some others
> >
> > This, unfortuantely, has already been done, although it may only
> > be available in FreeBSD-current. See src/lib/msun/src/imprecise.c.
>
> I know, it's available on 10.0 as well. However that's not the case for
> 9.x, for which it's impossible to build c++11 math using software (even
> if it doesn't use unimplemented functions), neither with system gcc
> nor with gcc from ports.
>
It's not impossible. Add whatever C++-fu you need
that is equivalent to
#include <math.h>
#ifndef fool
#define fool(x) foo((double)(x))
#endif
--
Steve
More information about the freebsd-current
mailing list