Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/gfortran.dg/data_initialized_3.f90 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/gfortran.dg/data_initialized_3.f90 Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,43 @@ +! { dg-do compile } +! +! PR fortran/65532 +! The partial initialization through data statements was producing +! shape mismatch errors. +! +! Contributed by Harald Anlauf <anlauf@gmx.de> + +module gfcbug131 + implicit none +contains + DOUBLE PRECISION FUNCTION d1mach(i) + INTEGER, INTENT(IN) :: i + + INTEGER :: small(4) + INTEGER :: large(4) + INTEGER :: right(4) + INTEGER :: diver(4) + INTEGER :: LOG10(4) + DOUBLE PRECISION :: dmach(5) + + EQUIVALENCE (dmach(1),small(1)) + EQUIVALENCE (dmach(2),large(1)) + EQUIVALENCE (dmach(3),right(1)) + EQUIVALENCE (dmach(4),diver(1)) + EQUIVALENCE (dmach(5),LOG10(1)) + + DATA small(1),small(2) / 0, 1048576 / + DATA large(1),large(2) / -1, 2146435071 / + DATA right(1),right(2) / 0, 1017118720 / + DATA diver(1),diver(2) / 0, 1018167296 / + DATA LOG10(1),LOG10(2) / 1352628735, 1070810131 / + + d1mach = dmach(i) + END FUNCTION d1mach + + DOUBLE PRECISION FUNCTION foo (x) + DOUBLE PRECISION, INTENT(IN) :: x + foo = SQRT (d1mach(4)) + END FUNCTION foo + +end module gfcbug131 +