[libgfortran] PR60128 Wrong ouput using en edit descriptor
diff mbox

Message ID alpine.BSF.2.02.1404081513440.23831@arjuna.pair.com
State New
Headers show

Commit Message

Hans-Peter Nilsson April 11, 2014, 9:09 p.m. UTC
On Mon, 31 Mar 2014, Dominique d'Humières wrote:
> Updated gfortran.dg/fmt_en.f90 to skip some tests not
> supported on i?86-*-solaris2.9* and hppa*-*-hpux* (these tests
> assume rounding to nearest and to even on tie, AFAICT
> i?86-*-solaris2.9* rounds real(16) to zero  and hppa*-*-hpux*
> rounds all kinds to zero on tie, with some exceptions I don?t
> understand). The detection of the rounding is based on the F and
> E edit descriptors.
>
> OK for trunk and 4.8?

This test, after the update on 4.8 in r209070 when the test-case
was modified substantially (not really covered by the ChangeLog
entry) to be identical to that on trunk, apparently takes a
different route in the fortran run-time library on 4.8 compared
to trunk.  For 4.8, it requires more run-time support on the
target system, trigging the tell-tale error message found in
gfortran.log: "Fortran runtime error: required ftruncate or
chsize support not present" on some targets, then aborting and
flagged as a regression as it passed before that commit.
Committed to 4.8 as obvious.  Again, this is not required on trunk.

gcc/testsuite:
	* gfortran.dg/fmt_en.f90: Gate test on effective_target
	fd_truncate.


brgds, H-P

Comments

Dominique d'Humières April 12, 2014, 9:10 a.m. UTC | #1
> This test, after the update on 4.8 in r209070 when the test-case was
> modified substantially (not really covered by the ChangeLog entry) to be
> identical to that on trunk, apparently takes a different route in the
> fortran run-time library on 4.8 compared to trunk.  For 4.8, it requires
> more run-time support on the target system, trigging the tell-tale error
> message found in gfortran.log: "Fortran runtime error: required ftruncate
> or chsize support not present" on some targets, then aborting and flagged
> as a regression as it passed before that commit.  Committed to 4.8 as
> obvious.  Again, this is not required on trunk.

IMO this the change is far from obvious and defeats the purpose the changes 
in the test case which was to run the test on ALL targets.

I need to know what are the affected targets, what part of the test 
triggers the failure, and if it exists a work-around.

Cheers,

Dominique

PS I made a mistake in the SVN entry (it is correct in 
gcc/testsuite/ChangeLog). Is there a way to fix it?

Patch
diff mbox

Index: gfortran.dg/fmt_en.f90
===================================================================
--- gfortran.dg/fmt_en.f90	(revision 209324)
+++ gfortran.dg/fmt_en.f90	(working copy)
@@ -1,4 +1,4 @@ 
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
 ! PR60128 Invalid outputs with EN descriptors
 ! Test case provided by Walt Brainerd.
 program pr60128