ieee_9.f90: XFAIL on arm*-*-gnueabi[hf].
[official-gcc.git] / gcc / testsuite / gfortran.dg / repeat_2.f90
blobdcb682af97232734b060e0d19fcb7332f251c4a3
1 ! REPEAT intrinsic
3 ! { dg-do run }
4 subroutine foo(i, j, s, t)
5 implicit none
6 integer, intent(in) :: i, j
7 character(len=i), intent(in) :: s
8 character(len=i*j), intent(in) :: t
10 if (repeat(s,j) /= t) STOP 1
11 call bar(j,s,t)
12 end subroutine foo
14 subroutine bar(j, s, t)
15 implicit none
16 integer, intent(in) :: j
17 character(len=*), intent(in) :: s
18 character(len=len(s)*j), intent(in) :: t
20 if (repeat(s,j) /= t) STOP 2
21 end subroutine bar
23 program test
24 implicit none
25 character(len=0), parameter :: s0 = ""
26 character(len=1), parameter :: s1 = "a"
27 character(len=2), parameter :: s2 = "ab"
28 character(len=0) :: t0
29 character(len=1) :: t1
30 character(len=2) :: t2
31 integer :: i
33 t0 = ""
34 t1 = "a"
35 t2 = "ab"
37 if (repeat(t0, 0) /= "") STOP 3
38 if (repeat(t1, 0) /= "") STOP 4
39 if (repeat(t2, 0) /= "") STOP 5
40 if (repeat(t0, 1) /= "") STOP 6
41 if (repeat(t1, 1) /= "a") STOP 7
42 if (repeat(t2, 1) /= "ab") STOP 8
43 if (repeat(t0, 2) /= "") STOP 9
44 if (repeat(t1, 2) /= "aa") STOP 10
45 if (repeat(t2, 2) /= "abab") STOP 11
47 if (repeat(s0, 0) /= "") STOP 12
48 if (repeat(s1, 0) /= "") STOP 13
49 if (repeat(s2, 0) /= "") STOP 14
50 if (repeat(s0, 1) /= "") STOP 15
51 if (repeat(s1, 1) /= "a") STOP 16
52 if (repeat(s2, 1) /= "ab") STOP 17
53 if (repeat(s0, 2) /= "") STOP 18
54 if (repeat(s1, 2) /= "aa") STOP 19
55 if (repeat(s2, 2) /= "abab") STOP 20
57 i = 0
58 if (repeat(t0, i) /= "") STOP 21
59 if (repeat(t1, i) /= "") STOP 22
60 if (repeat(t2, i) /= "") STOP 23
61 i = 1
62 if (repeat(t0, i) /= "") STOP 24
63 if (repeat(t1, i) /= "a") STOP 25
64 if (repeat(t2, i) /= "ab") STOP 26
65 i = 2
66 if (repeat(t0, i) /= "") STOP 27
67 if (repeat(t1, i) /= "aa") STOP 28
68 if (repeat(t2, i) /= "abab") STOP 29
70 i = 0
71 if (repeat(s0, i) /= "") STOP 30
72 if (repeat(s1, i) /= "") STOP 31
73 if (repeat(s2, i) /= "") STOP 32
74 i = 1
75 if (repeat(s0, i) /= "") STOP 33
76 if (repeat(s1, i) /= "a") STOP 34
77 if (repeat(s2, i) /= "ab") STOP 35
78 i = 2
79 if (repeat(s0, i) /= "") STOP 36
80 if (repeat(s1, i) /= "aa") STOP 37
81 if (repeat(s2, i) /= "abab") STOP 38
83 call foo(0,0,"","")
84 call foo(0,1,"","")
85 call foo(0,2,"","")
86 call foo(1,0,"a","")
87 call foo(1,1,"a","a")
88 call foo(1,2,"a","aa")
89 call foo(2,0,"ab","")
90 call foo(2,1,"ab","ab")
91 call foo(2,2,"ab","abab")
92 end program test