David Edelsohn:
The quad_3.f90 testcase fails on AIX, which does not have quad math enabled. I do not understand how the following line can be correct.
Well, obviously, it is not correct - otherwise you wouldn't see a failure :-)
Corrected by the attached patch (Rev. 194155). Sorry for the mistake.
Fortran does not have early exit
Not yet. (It has been proposed for F2003 but specifying the exact semantics/syntax was that difficult that it has been postponed until some future revision.)
Tobias
Index: ChangeLog =================================================================== --- ChangeLog (Revision 194152) +++ ChangeLog (Arbeitskopie) @@ -1,3 +1,8 @@ +2012-12-04 Tobias Burnus <bur...@net-b.de> + + * gfortran.dg/quad_3.f90: Fix a condition, + which wrongly required ordered/lazy evaluation. + 2012-12-04 Marcus Shawcroft <marcus.shawcr...@arm.com> * gcc.target/aarch64/121127.c: New test. Index: gfortran.dg/quad_3.f90 =================================================================== --- gfortran.dg/quad_3.f90 (Revision 194152) +++ gfortran.dg/quad_3.f90 (Arbeitskopie) @@ -15,6 +15,8 @@ program test_qp ! Run this only with libquadmath; assume that all those systems ! have also kind=10. if (size (real_kinds) >= 4 .and. real_kinds(3) == 10 .and. qp == 16) then + if (real_kinds(3) /= 10) stop + exponent = 4000 b(:) = huge (1.0_qp)/10.0_qp**exponent ! print *, 'real(16) big value: ', b(1)