diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index abd9579f805..067b63aaa6f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-03-17 Andreas Schwab + + PR testsuite/58851 + * gfortran.dg/unlimited_polymorphic_13.f90: Properly compute + storage size. + 2014-03-15 Jerry DeLisle PR libfortran/58324 diff --git a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_13.f90 b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_13.f90 index 0e27b172fb8..8225738e743 100644 --- a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_13.f90 +++ b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_13.f90 @@ -23,18 +23,24 @@ contains integer :: k integer :: sz + sz = 0 select case (k) case (4) sz = storage_size(r1)*2 + end select + select case (k) case (8) sz = storage_size(r2)*2 - case (10) - sz = storage_size(r3)*2 - case (16) - sz = storage_size(r4)*2 - case default - call abort() end select + select case (k) + case (real_kinds(size(real_kinds)-1)) + sz = storage_size(r3)*2 + end select + select case (k) + case (real_kinds(size(real_kinds))) + sz = storage_size(r4)*2 + end select + if (sz .eq. 0) call abort() if (storage_size(o) /= sz) call abort()