On powerpc-apple-darwin* gfortran.dg/round_2.f03 fails with: /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/round_2.f03:5.37:
write(line, '(RN, 4F10.3)') 0.0625_10, 0.1875_10 1 Error: Invalid real kind 10 at (1) /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/round_2.f03:8.36: write(line, '(RN, 4F10.2)') 0.125_10, 0.375_10, 1.125_10, 1.375_10 1 Error: Invalid real kind 10 at (1) /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/round_2.f03:11.35: write(line, '(RN, 4F10.1)') 0.25_10, 0.75_10, 1.25_10, 1.75_10 1 Error: Invalid real kind 10 at (1) /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/round_2.f03:14.34: write(line, '(RN, 4F10.0)') 0.5_10, 1.5_10, 2.5_10, 3.5_10 1 Error: Invalid real kind 10 at (1) since there is no kind 10 on powerpc-apple-darwin*, but only kind 16. Borrowed for similar test the fix is quite obvious as: ! { dg-do run } ! PR35962 Implement F2003 rounding modes. ! Test case prepared by Jerry Delisle <jvdeli...@gcc.gnu.org> integer,parameter :: k = selected_real_kind (precision (0.0_8) + 1) character(64) :: line print *, k write(line, '(RN, 4F10.3)') 0.0625_k, 0.1875_k if (line.ne." 0.062 0.188") call abort write(line, '(RN, 4F10.2)') 0.125_k, 0.375_k, 1.125_k, 1.375_k if (line.ne." 0.12 0.38 1.12 1.38") call abort write(line, '(RN, 4F10.1)') 0.25_k, 0.75_k, 1.25_k, 1.75_k if (line.ne." 0.2 0.8 1.2 1.8") call abort write(line, '(RN, 4F10.0)') 0.5_k, 1.5_k, 2.5_k, 3.5_k if (line.ne." 0. 2. 2. 4.") call abort end -- Summary: FAIL: gfortran.dg/round_2.f03 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dominiq at lps dot ens dot fr GCC build triplet: powerpc-apple-darwin* GCC host triplet: powerpc-apple-darwin* GCC target triplet: powerpc-apple-darwin* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41612