1! { dg-do compile } 2! Tests fix for PR25059, which gave and ICE after error message 3! Contributed by Joost VandeVondele <jv244@cam.ac.uk> 4MODULE M1 5 TYPE T1 6 INTEGER :: I 7 END TYPE T1 8 INTERFACE ASSIGNMENT(=) 9 MODULE PROCEDURE S1 10 END INTERFACE 11CONTAINS 12 SUBROUTINE S1(I,J) 13 TYPE(T1), INTENT(OUT):: I 14 TYPE(T1), INTENT(IN) :: J 15 I%I=J%I**2 16 END SUBROUTINE S1 17END MODULE M1 18 19USE M1 20CONTAINS 21PURE SUBROUTINE S2(I,J) 22 TYPE(T1), INTENT(OUT):: I 23 TYPE(T1), INTENT(IN) :: J 24 I=J ! { dg-error "is not PURE" } 25END SUBROUTINE S2 26END 27