This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/39304] ICE with MATMUL, specific/generic functions and rank checking
- From: "jv244 at cam dot ac dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Aug 2009 07:10:55 -0000
- Subject: [Bug fortran/39304] ICE with MATMUL, specific/generic functions and rank checking
- References: <bug-39304-17365@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #8 from jv244 at cam dot ac dot uk 2009-08-11 07:10 -------
Further reduced testcase
MODULE deriv_class
INTEGER, PARAMETER :: n = 3
TYPE func
REAL :: value, x(n), xx(n*(n+1)/2)
END TYPE func
INTERFACE value
MODULE PROCEDURE value_array
END INTERFACE
INTERFACE SD
MODULE PROCEDURE SD
MODULE PROCEDURE SD_matrix_one
END INTERFACE
CONTAINS
FUNCTION value_array(x) RESULT (res)
TYPE (func), INTENT (in), DIMENSION (:), TARGET :: x
REAL , DIMENSION (:), POINTER :: res
END FUNCTION value_array
FUNCTION SD(x) RESULT (res)
REAL , DIMENSION (:), POINTER :: res
END FUNCTION SD
FUNCTION SD_matrix_one(x, i) RESULT (res)
TYPE (func), DIMENSION (:, :), INTENT (in), TARGET :: x
REAL , DIMENSION (:, :), POINTER :: res
END FUNCTION SD_matrix_one
FUNCTION matmul_k21(a, b) RESULT (res)
TYPE (func), DIMENSION (:, :), INTENT (in) :: a
TYPE (func), DIMENSION (:), INTENT (in) :: b
REAL , DIMENSION (:), POINTER :: ptr
DO j = 1, n
DO i = j, n
ptr = MATMUL(SD(a, 1), value(b))
END DO
END DO
END FUNCTION matmul_k21
END MODULE deriv_class
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39304