annotate gcc/testsuite/gfortran.dg/dim_sum_1.f90 @ 144:8f4e72ab4e11

fix segmentation fault caused by nothing next cur_op to end
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 21:23:56 +0900
parents 84e7813d76e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do run }
kono
parents:
diff changeset
2 ! { dg-shouldfail "Dim argument incorrect in SUM intrinsic: is 5, should be between 1 and 2" }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 program summation
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 integer, parameter :: n1=5, n2=7
kono
parents:
diff changeset
7 integer, dimension(1:n1,1:n2) :: arr
kono
parents:
diff changeset
8 integer, dimension(1:n1) :: r2
kono
parents:
diff changeset
9 integer, dimension(1:n2) :: r1
kono
parents:
diff changeset
10 integer :: i,j
kono
parents:
diff changeset
11 character(len=80) :: c1, c2
kono
parents:
diff changeset
12 character(len=50) :: fmt = '(10I5)'
kono
parents:
diff changeset
13 do j=1,n2
kono
parents:
diff changeset
14 do i=1,n1
kono
parents:
diff changeset
15 arr(i,j) = i+j*10
kono
parents:
diff changeset
16 end do
kono
parents:
diff changeset
17 end do
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 r1 = sum(arr,dim=1)
kono
parents:
diff changeset
20 write (unit=c2, fmt=fmt) r1
kono
parents:
diff changeset
21 call print_sum(1,c1)
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
22 if (c1 /= c2) STOP 1
111
kono
parents:
diff changeset
23 r2 = sum(arr,dim=2)
kono
parents:
diff changeset
24 write (unit=c2, fmt=fmt) r2
kono
parents:
diff changeset
25 call print_sum(2,c1)
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
26 if (c1 /= c2) STOP 2
111
kono
parents:
diff changeset
27 call print_sum(5,c1)
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 contains
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 subroutine print_sum(d, c)
kono
parents:
diff changeset
32 integer, intent(in) :: d
kono
parents:
diff changeset
33 character(len=80), intent(out) :: c
kono
parents:
diff changeset
34 write (unit=c, fmt=fmt) sum(arr,dim=d)
kono
parents:
diff changeset
35 end subroutine
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 end