annotate gcc/testsuite/gfortran.dg/achar_6.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 ! { dg-options "-fbackslash" }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 #define TEST(x,y,z) \
kono
parents:
diff changeset
5 call test (x, y, z, iachar(x), iachar(y), ichar(x), ichar(y))
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 TEST("a", 4_"a", 97)
kono
parents:
diff changeset
8 TEST("\0", 4_"\0", 0)
kono
parents:
diff changeset
9 TEST("\b", 4_"\b", 8)
kono
parents:
diff changeset
10 TEST("\x80", 4_"\x80", int(z'80'))
kono
parents:
diff changeset
11 TEST("\xFF", 4_"\xFF", int(z'FF'))
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 #define TEST2(y,z) \
kono
parents:
diff changeset
14 call test_bis (y, z, iachar(y), ichar(y))
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 TEST2(4_"\u0100", int(z'0100'))
kono
parents:
diff changeset
17 TEST2(4_"\ufe00", int(z'fe00'))
kono
parents:
diff changeset
18 TEST2(4_"\u106a", int(z'106a'))
kono
parents:
diff changeset
19 TEST2(4_"\uff00", int(z'ff00'))
kono
parents:
diff changeset
20 TEST2(4_"\uffff", int(z'ffff'))
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 contains
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 subroutine test (s1, s4, i, i1, i2, i3, i4)
kono
parents:
diff changeset
25 character(kind=1,len=1) :: s1
kono
parents:
diff changeset
26 character(kind=4,len=1) :: s4
kono
parents:
diff changeset
27 integer :: i, i1, i2, i3, i4
kono
parents:
diff changeset
28
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
29 if (i /= i1) STOP 1
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
30 if (i /= i2) STOP 2
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
31 if (i /= i3) STOP 3
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
32 if (i /= i4) STOP 4
111
kono
parents:
diff changeset
33
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
34 if (iachar (s1) /= i) STOP 5
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
35 if (iachar (s4) /= i) STOP 6
111
kono
parents:
diff changeset
36
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
37 if (ichar (s1) /= i) STOP 7
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
38 if (ichar (s4) /= i) STOP 8
111
kono
parents:
diff changeset
39
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
40 if (achar(i, kind=1) /= s1) STOP 9
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
41 if (achar(i, kind=4) /= s4) STOP 10
111
kono
parents:
diff changeset
42
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
43 if (char(i, kind=1) /= s1) STOP 11
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
44 if (char(i, kind=4) /= s4) STOP 12
111
kono
parents:
diff changeset
45
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
46 if (iachar(achar(i, kind=1)) /= i) STOP 13
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
47 if (iachar(achar(i, kind=4)) /= i) STOP 14
111
kono
parents:
diff changeset
48
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
49 if (ichar(char(i, kind=1)) /= i) STOP 15
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
50 if (ichar(char(i, kind=4)) /= i) STOP 16
111
kono
parents:
diff changeset
51
kono
parents:
diff changeset
52 end subroutine test
kono
parents:
diff changeset
53
kono
parents:
diff changeset
54 subroutine test_bis (s4, i, i2, i4)
kono
parents:
diff changeset
55 character(kind=4,len=1) :: s4
kono
parents:
diff changeset
56 integer :: i, i2, i4
kono
parents:
diff changeset
57
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
58 if (i /= i2) STOP 17
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
59 if (i /= i4) STOP 18
111
kono
parents:
diff changeset
60
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
61 if (iachar (s4) /= i) STOP 19
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
62 if (ichar (s4) /= i) STOP 20
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
63 if (achar(i, kind=4) /= s4) STOP 21
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
64 if (char(i, kind=4) /= s4) STOP 22
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
65 if (iachar(achar(i, kind=4)) /= i) STOP 23
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
66 if (ichar(char(i, kind=4)) /= i) STOP 24
111
kono
parents:
diff changeset
67
kono
parents:
diff changeset
68 end subroutine test_bis
kono
parents:
diff changeset
69
kono
parents:
diff changeset
70 end