Actually this is a known bug in gcc. On FreeBSD and DragonFly on i386, the warning about this is FALSE due to nuances in the 53-bit mantissa rounding.
It didn't warn with 4.7 on FreeBSD/i386 when we tested it.
The test program was something like:
#include <float.h>
long double foo = LDBL_MAX;
int main(void) { return 0; }
It would warn on DragonFly/i386 only.
Regards,
Sascha
