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

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
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
kono
parents:
diff changeset
7 if (index(chrs(:), expr) /= 1) call abort
kono
parents:
diff changeset
8 if (index(chrs(14:), expr) /= 0) call abort
kono
parents:
diff changeset
9 if (index(chrs(:12), expr) /= 0) call abort
kono
parents:
diff changeset
10 if (index(chrs, expr(:)) /= 1) call abort
kono
parents:
diff changeset
11 if (index(chrs, expr(1:)) /= 1) call abort
kono
parents:
diff changeset
12 if (index(chrs, expr(:1)) /= 1) call abort
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 if (foo(expr) /= 1) call abort
kono
parents:
diff changeset
15 if (foo(expr) /= 1) call abort
kono
parents:
diff changeset
16 if (foo(expr) /= 1) call abort
kono
parents:
diff changeset
17 if (foo(expr(:)) /= 1) call abort
kono
parents:
diff changeset
18 if (foo(expr(1:)) /= 1) call abort
kono
parents:
diff changeset
19 if (foo(expr(:1)) /= 1) call abort
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
kono
parents:
diff changeset
29 if (index(chrs(:), expr) /= 1) call abort
kono
parents:
diff changeset
30 if (index(chrs(14:), expr) /= 0) call abort
kono
parents:
diff changeset
31 if (index(chrs(:12), expr) /= 0) call abort
kono
parents:
diff changeset
32 if (index(chrs, expr(:)) /= 1) call abort
kono
parents:
diff changeset
33 if (index(chrs, expr(1:)) /= 1) call abort
kono
parents:
diff changeset
34 if (index(chrs, expr(:1)) /= 1) call abort
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