http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40205
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |burnus at gcc dot gnu.org Resolution| |WONTFIX --- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-10-17 17:10:40 UTC --- (In reply to comment #0) > upper = huge(maxint) > lower = upper - 9 ! The 9 can of course be changed > !$omp parallel do > do i = lower, upper As the Fortran program is nonconforming (even without OpenMP), I close this PR as WONTFIX. The reason that the program is nonconforming is the same as the OpenMP issue: One has "huge(i)+1" which is not representable. In case of Fortran, the standard effectively mandates that the DO variable "i" is "upper + 1" after the loop, but that number is not representable if "upper" is "huge(i)". As it is not representable, the code is nonconforming. See PR 54932 for quotes from the standard. (For the OpenMP part, one has "<= ubound" which is transformed to "< ubound+1". That part could be fixed, but why should one bother if the Fortran code itself is already invalid.)