! { dg-do compile } ! PR42684 (42680) Ice with Interface. MODULE mod1 IMPLICIT NONE TYPE ta INTEGER i END TYPE ta INTERFACE OPERATOR(+) MODULE PROCEDURE add_a END INTERFACE OPERATOR(+) CONTAINS FUNCTION add_a(lhs, rhs) RESULT(r) TYPE(ta), INTENT(IN) :: lhs TYPE(ta), INTENT(IN) :: rhs TYPE(ta) :: r !**** r%i = lhs%i + rhs%i END FUNCTION add_a END MODULE mod1 MODULE mod2 IMPLICIT NONE TYPE tb INTEGER j END TYPE tb INTERFACE OPERATOR(+) MODULE PROCEDURE add_b END INTERFACE OPERATOR(+) CONTAINS SUBROUTINE other_proc() USE mod1 ! Causes ICE END SUBROUTINE other_proc FUNCTION add_b(lhs, rhs) RESULT(r) TYPE(tb), INTENT(IN) :: lhs TYPE(tb), INTENT(IN) :: rhs TYPE(tb) :: r !**** r%j = lhs%j + rhs%j END FUNCTION add_b END MODULE mod2