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