This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/49627] NINT(x,16) doesn't work (at all, ever, I don't think)
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 4 Jul 2011 12:12:31 +0000
- Subject: [Bug fortran/49627] NINT(x,16) doesn't work (at all, ever, I don't think)
- Auto-submitted: auto-generated
- References: <bug-49627-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49627
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #24672|application/octet-stream |text/plain
mime type| |
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-07-04 12:12:25 UTC ---
Comment on attachment 24672
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24672
very short (5 line) program illlustrating problem
Fails with:
test14.f90:4:0: internal compiler error: in build_round_expr, at
fortran/trans-intrinsic.c:393
388 if (resprec <= LONG_TYPE_SIZE)
389 longlong = false;
390 else if (resprec <= LONG_LONG_TYPE_SIZE)
391 longlong = true;
392 else
393 gcc_unreachable ();
I think one needs to replace
fn = builtin_decl_for_precision (BUILT_IN_LLROUND, argprec);
by something like
fn = gfc_builtin_decl_for_float_kind (BUILT_IN_LROUND, ...)