annotate gcc/testsuite/gfortran.dg/volatile8.f90 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! Check for compatibily of actual arguments
kono
parents:
diff changeset
2 ! with dummy arguments marked as volatile
kono
parents:
diff changeset
3 !
kono
parents:
diff changeset
4 ! Contributed by Steven Correll.
kono
parents:
diff changeset
5 !
kono
parents:
diff changeset
6 ! PR fortran/30520
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 ! { dg-do compile }
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 subroutine s8()
kono
parents:
diff changeset
11 implicit none
kono
parents:
diff changeset
12 interface
kono
parents:
diff changeset
13 subroutine sub8(dummy8)
kono
parents:
diff changeset
14 integer, volatile, dimension(3) :: dummy8
kono
parents:
diff changeset
15 end subroutine sub8
kono
parents:
diff changeset
16 subroutine sub8a(dummy8a)
kono
parents:
diff changeset
17 integer, volatile, dimension(:) :: dummy8a
kono
parents:
diff changeset
18 end subroutine sub8a
kono
parents:
diff changeset
19 end interface
kono
parents:
diff changeset
20 integer, dimension(8) :: a
kono
parents:
diff changeset
21 call sub8 (a(1:5:2)) ! { dg-error "Array-section actual argument" }
kono
parents:
diff changeset
22 call sub8a(a(1:5:2))
kono
parents:
diff changeset
23 end subroutine s8
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 subroutine s9(s9dummy)
kono
parents:
diff changeset
26 implicit none
kono
parents:
diff changeset
27 integer, dimension(:) :: s9dummy
kono
parents:
diff changeset
28 interface
kono
parents:
diff changeset
29 subroutine sub9(dummy9)
kono
parents:
diff changeset
30 integer, volatile, dimension(3) :: dummy9
kono
parents:
diff changeset
31 end subroutine sub9
kono
parents:
diff changeset
32 subroutine sub9a(dummy9a)
kono
parents:
diff changeset
33 integer, volatile, dimension(:) :: dummy9a
kono
parents:
diff changeset
34 end subroutine sub9a
kono
parents:
diff changeset
35 end interface
kono
parents:
diff changeset
36 integer, dimension(9) :: a
kono
parents:
diff changeset
37 call sub9 (s9dummy) ! { dg-error "Assumed-shape actual argument" }
kono
parents:
diff changeset
38 call sub9a(s9dummy)
kono
parents:
diff changeset
39 end subroutine s9
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 subroutine s10()
kono
parents:
diff changeset
42 implicit none
kono
parents:
diff changeset
43 interface
kono
parents:
diff changeset
44 subroutine sub10(dummy10)
kono
parents:
diff changeset
45 integer, volatile, dimension(3) :: dummy10
kono
parents:
diff changeset
46 end subroutine sub10
kono
parents:
diff changeset
47 subroutine sub10a(dummy10a)
kono
parents:
diff changeset
48 integer, volatile, dimension(:) :: dummy10a
kono
parents:
diff changeset
49 end subroutine sub10a
kono
parents:
diff changeset
50 subroutine sub10b(dummy10b)
kono
parents:
diff changeset
51 integer, volatile, dimension(:), pointer :: dummy10b
kono
parents:
diff changeset
52 end subroutine sub10b
kono
parents:
diff changeset
53 end interface
kono
parents:
diff changeset
54 integer, dimension(:), pointer :: a
kono
parents:
diff changeset
55 call sub10 (a) ! { dg-error "Pointer-array actual argument" }
kono
parents:
diff changeset
56 call sub10a(a)
kono
parents:
diff changeset
57 call sub10b(a)
kono
parents:
diff changeset
58 end subroutine s10