http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48787

           Summary: Invalid UP rounding with F editing
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: libfortran
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: thenl...@users.sourceforge.net


When UP output rounding is in effect, the output of F editing is rounded
incorrectly. In the example, real numbers with an exact internal representation
(whole numbers) are rounded up to the next higher value.

program test_ruf
    print "(ru,f2.0)", 2.0_4 ! 3. expected 2.
    print "(ru,f2.0)", 2.0_8 ! 3. expected 2.
    print "(ru,f2.0)", 2.0_10 ! 3. expected 2.
    print "(ru,f2.0)", 2.0_16 ! 3. expected 2.
end program test_ruf

Tested with gcc-Version 4.7.0 20110424 (experimental) [trunk revision 172919]
(GCC) 

Fortran 2008:
When the I/O rounding mode is UP, the value resulting from conversion shall be
the smallest representable value that is greater than or equal to the original
value.

Reply via email to