annotate gcc/testsuite/gfortran.dg/assignment_2.f90 @ 132:d34655255c78

update gcc-8.2
author mir3636
date Thu, 25 Oct 2018 10:21:07 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do compile }
kono
parents:
diff changeset
2 !
kono
parents:
diff changeset
3 ! PR fortran/35033
kono
parents:
diff changeset
4 !
kono
parents:
diff changeset
5 ! The checks for assignments were too strict.
kono
parents:
diff changeset
6 !
kono
parents:
diff changeset
7 MODULE m1
kono
parents:
diff changeset
8 INTERFACE ASSIGNMENT(=)
kono
parents:
diff changeset
9 SUBROUTINE s(a,b)
kono
parents:
diff changeset
10 REAL,INTENT(OUT) :: a(1,*)
kono
parents:
diff changeset
11 REAL,INTENT(IN) :: b(:)
kono
parents:
diff changeset
12 END SUBROUTINE
kono
parents:
diff changeset
13 END Interface
kono
parents:
diff changeset
14 contains
kono
parents:
diff changeset
15 subroutine test1()
kono
parents:
diff changeset
16 REAL,POINTER :: p(:,:),q(:)
kono
parents:
diff changeset
17 CALL s(p,q)
kono
parents:
diff changeset
18 p = q
kono
parents:
diff changeset
19 end subroutine test1
kono
parents:
diff changeset
20 end module m1
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 MODULE m2
kono
parents:
diff changeset
23 INTERFACE ASSIGNMENT(=)
kono
parents:
diff changeset
24 SUBROUTINE s(a,b)
kono
parents:
diff changeset
25 REAL,INTENT(OUT),VOLATILE :: a(1,*)
kono
parents:
diff changeset
26 REAL,INTENT(IN) :: b(:)
kono
parents:
diff changeset
27 END SUBROUTINE
kono
parents:
diff changeset
28 END Interface
kono
parents:
diff changeset
29 contains
kono
parents:
diff changeset
30 subroutine test1()
kono
parents:
diff changeset
31 REAL,POINTER :: p(:,:),q(:)
kono
parents:
diff changeset
32 CALL s(p,q) ! { dg-error "requires an assumed-shape or pointer-array dummy" }
kono
parents:
diff changeset
33 !TODO: The following is rightly rejected but the error message is misleading.
kono
parents:
diff changeset
34 ! The actual reason is the mismatch between pointer array and VOLATILE
kono
parents:
diff changeset
35 p = q ! { dg-error "Incompatible ranks" }
kono
parents:
diff changeset
36 end subroutine test1
kono
parents:
diff changeset
37 end module m2
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 MODULE m3
kono
parents:
diff changeset
40 INTERFACE ASSIGNMENT(=)
kono
parents:
diff changeset
41 module procedure s
kono
parents:
diff changeset
42 END Interface
kono
parents:
diff changeset
43 contains
kono
parents:
diff changeset
44 SUBROUTINE s(a,b) ! { dg-error "must not redefine an INTRINSIC type" }
kono
parents:
diff changeset
45 REAL,INTENT(OUT),VOLATILE :: a(1,*)
kono
parents:
diff changeset
46 REAL,INTENT(IN) :: b(:,:)
kono
parents:
diff changeset
47 END SUBROUTINE
kono
parents:
diff changeset
48 end module m3