------- 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