This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libquadmath/65757] gfortran gives incorrect result for anint with real*16 argument
- From: "kargl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 14 Apr 2015 01:38:00 +0000
- Subject: [Bug libquadmath/65757] gfortran gives incorrect result for anint with real*16 argument
- Auto-submitted: auto-generated
- References: <bug-65757-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65757
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kargl at gcc dot gnu.org
Component|fortran |libquadmath
Known to fail| |4.6.4, 4.7.4, 4.8.5, 4.9.3,
| |5.0, 6.0
Severity|major |normal
--- Comment #1 from kargl at gcc dot gnu.org ---
Using -fdump-tree-original (and removing the IO code),
one gets
anintbug ()
{
real(kind=16) q1;
real(kind=16) q2;
real(kind=16) q3;
q1 = 2.33181505644407999969482421875e+14;
q2 = roundq (q1);
q3 = 2.33181505644408e+14;
}
So, gfortran is calling the libquadmath routine roundq.
I've changed the component from fortran to libquadmath.
This also appears to fail with all versions of gfortran.