Update ChangeLog and version files for release
[official-gcc.git] / gcc / testsuite / gfortran.dg / associate_9.f03
blob3a262b6da0925773dca20469b13df5d25128ddfc
1 ! { dg-do compile }
2 ! { dg-options "-std=f2003 -fall-intrinsics" }
4 ! FIXME: Change into run test and remove excess error expectation.
6 ! PR fortran/38936
7 ! Association to derived-type, where the target type is not know
8 ! during parsing (only resolution).
10 ! Contributed by Daniel Kraft, d@domob.eu.
12 MODULE m
13   IMPLICIT NONE
15   TYPE :: mynum
16     INTEGER :: comp
17   END TYPE mynum
19   INTERFACE OPERATOR(+)
20     MODULE PROCEDURE add
21   END INTERFACE OPERATOR(+)
23 CONTAINS
25   PURE FUNCTION add (a, b)
26     TYPE(mynum), INTENT(IN) :: a, b
27     TYPE(mynum) :: add
29     add%comp = a%comp + b%comp
30   END FUNCTION add
32 END MODULE m
34 PROGRAM main
35   USE :: m
36   IMPLICIT NONE
38   TYPE(mynum) :: a
39   a = mynum (5)
41   ASSOCIATE (x => add (a, a))
42     IF (x%comp /= 10) CALL abort ()
43   END ASSOCIATE
45   ASSOCIATE (x => a + a)
46     IF (x%comp /= 10) CALL abort ()
47   END ASSOCIATE
48 END PROGRAM main
50 ! { dg-excess-errors "Syntex error in IF" }