annotate gcc/testsuite/gfortran.dg/substr_5.f90 @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +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 run }
kono
parents:
diff changeset
2 !
kono
parents:
diff changeset
3 character(*), parameter :: chrs = '-+.0123456789eEdD'
kono
parents:
diff changeset
4 character(*), parameter :: expr = '-+.0123456789eEdD'
kono
parents:
diff changeset
5 integer :: i
kono
parents:
diff changeset
6
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
7 if (index(chrs(:), expr) /= 1) STOP 1
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
8 if (index(chrs(14:), expr) /= 0) STOP 2
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
9 if (index(chrs(:12), expr) /= 0) STOP 3
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
10 if (index(chrs, expr(:)) /= 1) STOP 4
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
11 if (index(chrs, expr(1:)) /= 1) STOP 5
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
12 if (index(chrs, expr(:1)) /= 1) STOP 6
111
kono
parents:
diff changeset
13
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
14 if (foo(expr) /= 1) STOP 7
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
15 if (foo(expr) /= 1) STOP 8
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
16 if (foo(expr) /= 1) STOP 9
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
17 if (foo(expr(:)) /= 1) STOP 10
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
18 if (foo(expr(1:)) /= 1) STOP 11
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
19 if (foo(expr(:1)) /= 1) STOP 12
111
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 call bar(expr)
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 contains
kono
parents:
diff changeset
24 subroutine bar(expr)
kono
parents:
diff changeset
25 character(*), intent(in) :: expr
kono
parents:
diff changeset
26 character(*), parameter :: chrs = '-+.0123456789eEdD'
kono
parents:
diff changeset
27 integer :: foo
kono
parents:
diff changeset
28
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
29 if (index(chrs(:), expr) /= 1) STOP 13
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
30 if (index(chrs(14:), expr) /= 0) STOP 14
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
31 if (index(chrs(:12), expr) /= 0) STOP 15
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
32 if (index(chrs, expr(:)) /= 1) STOP 16
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
33 if (index(chrs, expr(1:)) /= 1) STOP 17
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
34 if (index(chrs, expr(:1)) /= 1) STOP 18
111
kono
parents:
diff changeset
35 end subroutine bar
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 integer function foo(expr)
kono
parents:
diff changeset
38 character(*), intent(in) :: expr
kono
parents:
diff changeset
39 character(*), parameter :: chrs = '-+.0123456789eEdD'
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 foo = index(chrs, expr)
kono
parents:
diff changeset
42 end function foo
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 end