[Bug fortran/36316] type mismatch in binary expression caught by verify_gimple

toon at moene dot indiv dot nluug dot nl gcc-bugzilla@gcc.gnu.org
Fri May 23 20:08:00 GMT 2008



------- Comment #3 from toon at moene dot indiv dot nluug dot nl  2008-05-23 20:07 -------
Ugh, sorry, I see I included the wrong source.

Here's the correct one:

MODULE YOMCAIN

IMPLICIT NONE
SAVE

TYPE distributed_vector
REAL, pointer :: local(:)
INTEGER       :: global_length,local_start,local_end,nchnks
END TYPE distributed_vector

INTERFACE ASSIGNMENT (=)
MODULE PROCEDURE assign_ar_dv
END INTERFACE

INTERFACE OPERATOR (*)
MODULE PROCEDURE multiply_dv_dv
END INTERFACE

CONTAINS

SUBROUTINE assign_ar_dv (handle,pvec)

!         copy array to the distributed_vector

REAL,                      INTENT(IN)    :: pvec(:)
TYPE (distributed_vector), INTENT(INOUT) :: handle

handle%local(:) = pvec(:)

RETURN
END SUBROUTINE assign_ar_dv

FUNCTION multiply_dv_dv (handle1,handle2)

!         multiply two distributed_vectors

TYPE (distributed_vector), INTENT(IN) :: handle2
TYPE (distributed_vector), INTENT(IN) :: handle1
REAL, DIMENSION(handle1%local_start:handle1%local_end) ::multiply_dv_dv

multiply_dv_dv = handle1%local(:) * handle2%local(:)

RETURN
END FUNCTION multiply_dv_dv


SUBROUTINE CAININAD_SCALE_DISTVEC ()
TYPE (distributed_vector) :: PVAZG
TYPE (distributed_vector) :: ZTEMP
TYPE (distributed_vector) :: SCALP_DV

ZTEMP = PVAZG * SCALP_DV
END SUBROUTINE CAININAD_SCALE_DISTVEC
END MODULE YOMCAIN

Apologies ...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36316



More information about the Gcc-bugs mailing list