https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93592
Bug ID: 93592
Summary: Invalid UP/DOWN rounding with EN descriptor
Product: gcc
Version: 9.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libfortran
Assignee: unassigned at gcc dot gnu.org
Reporter: thenlich+gccbug at gmail dot com
Target Milestone: ---
When using the EN descriptor with d=0 (ENw.0) and rounding mode UP or DOWN the
result is totally wrong:
program test_en
print "(RU,EN9.0)", 800.0_8 ! 8.E+00 expected 800.E+00
print "(RU,EN9.0)", 901.0_8 ! 10.E+00 expected 901.E+00
print "(RD,EN9.0)", -999.6_8 ! -10.E+00 expected -1.E+03
end