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, ...)