[Bug fortran/39304] ICE with MATMUL, specific/generic functions and rank checking

jv244 at cam dot ac dot uk gcc-bugzilla@gcc.gnu.org
Tue Aug 11 07:11:00 GMT 2009



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



More information about the Gcc-bugs mailing list