Created attachment 629
Patch for DMD (svn r487)
This code fails with dmd built on FreeBSD/i386:
--------------------
static assert(real.max < real.infinity); // fails on FreeBSD
--------------------
Some static assertions in std.math are blocked by this problem.
There is a bug in GCC on FreeBSD/i386 and long double constants are rounded to
double precision(*). A workaround is already there in DMD as Port::ldbl_max,
but it seems it's forgotten. :) The attached patch enables this workaround,
and adds necessary fpsetprec.
[*] freebsd-standards: long double broken on i386?
http://groups.google.co.jp/group/lucky.freebsd.standards/browse_thread/thread/5d7b42dac8d29461