comparison 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
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
2 ! 2 !
3 character(*), parameter :: chrs = '-+.0123456789eEdD' 3 character(*), parameter :: chrs = '-+.0123456789eEdD'
4 character(*), parameter :: expr = '-+.0123456789eEdD' 4 character(*), parameter :: expr = '-+.0123456789eEdD'
5 integer :: i 5 integer :: i
6 6
7 if (index(chrs(:), expr) /= 1) call abort 7 if (index(chrs(:), expr) /= 1) STOP 1
8 if (index(chrs(14:), expr) /= 0) call abort 8 if (index(chrs(14:), expr) /= 0) STOP 2
9 if (index(chrs(:12), expr) /= 0) call abort 9 if (index(chrs(:12), expr) /= 0) STOP 3
10 if (index(chrs, expr(:)) /= 1) call abort 10 if (index(chrs, expr(:)) /= 1) STOP 4
11 if (index(chrs, expr(1:)) /= 1) call abort 11 if (index(chrs, expr(1:)) /= 1) STOP 5
12 if (index(chrs, expr(:1)) /= 1) call abort 12 if (index(chrs, expr(:1)) /= 1) STOP 6
13 13
14 if (foo(expr) /= 1) call abort 14 if (foo(expr) /= 1) STOP 7
15 if (foo(expr) /= 1) call abort 15 if (foo(expr) /= 1) STOP 8
16 if (foo(expr) /= 1) call abort 16 if (foo(expr) /= 1) STOP 9
17 if (foo(expr(:)) /= 1) call abort 17 if (foo(expr(:)) /= 1) STOP 10
18 if (foo(expr(1:)) /= 1) call abort 18 if (foo(expr(1:)) /= 1) STOP 11
19 if (foo(expr(:1)) /= 1) call abort 19 if (foo(expr(:1)) /= 1) STOP 12
20 20
21 call bar(expr) 21 call bar(expr)
22 22
23 contains 23 contains
24 subroutine bar(expr) 24 subroutine bar(expr)
25 character(*), intent(in) :: expr 25 character(*), intent(in) :: expr
26 character(*), parameter :: chrs = '-+.0123456789eEdD' 26 character(*), parameter :: chrs = '-+.0123456789eEdD'
27 integer :: foo 27 integer :: foo
28 28
29 if (index(chrs(:), expr) /= 1) call abort 29 if (index(chrs(:), expr) /= 1) STOP 13
30 if (index(chrs(14:), expr) /= 0) call abort 30 if (index(chrs(14:), expr) /= 0) STOP 14
31 if (index(chrs(:12), expr) /= 0) call abort 31 if (index(chrs(:12), expr) /= 0) STOP 15
32 if (index(chrs, expr(:)) /= 1) call abort 32 if (index(chrs, expr(:)) /= 1) STOP 16
33 if (index(chrs, expr(1:)) /= 1) call abort 33 if (index(chrs, expr(1:)) /= 1) STOP 17
34 if (index(chrs, expr(:1)) /= 1) call abort 34 if (index(chrs, expr(:1)) /= 1) STOP 18
35 end subroutine bar 35 end subroutine bar
36 36
37 integer function foo(expr) 37 integer function foo(expr)
38 character(*), intent(in) :: expr 38 character(*), intent(in) :: expr
39 character(*), parameter :: chrs = '-+.0123456789eEdD' 39 character(*), parameter :: chrs = '-+.0123456789eEdD'