------- Comment #5 from rguenth at gcc dot gnu dot org 2008-02-15 10:25 ------- So this is a problem of the oracle library not re-setting FPU state. The general ada problem, if it exists, is probably a dup of PR323 if it expects double to behave consistently as if it had a mantissa of 53 bits. Note that starting with gcc 4.3 there is a global flag to control FPU precision at program start (-mpc{32,64,80}), but that affects all types and so doesn't help here (but with -mpc64 the behavior should be consistent at least wrt the oracle library).
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35194