1! { dg-do run } 2! { dg-options "-fbackslash" } 3 4 character(kind=1,len=20) :: s1, t1 5 character(kind=4,len=20) :: s4, t4 6 7 call test (4_"ccc ", 4_"bbb", 4_"ccc", 4_"ddd") 8 call test (4_" \xACp ", 4_" \x900000 ", 4_" \xACp ", 4_"ddd") 9 call test (4_" \xACp ", 4_" \x900000 ", 4_" \xACp ", 4_"ddd") 10 11 call test2 (4_" \x900000 ", 4_" \xACp ", 4_"ddd") 12 13contains 14 15 subroutine test(s4, t4, u4, v4) 16 character(kind=4,len=*) :: s4, t4, u4, v4 17 18 if (.not. (s4 >= t4)) STOP 1 19 if (.not. (s4 > t4)) STOP 2 20 if (.not. (s4 .ge. t4)) STOP 3 21 if (.not. (s4 .gt. t4)) STOP 4 22 if ( (s4 == t4)) STOP 5 23 if (.not. (s4 /= t4)) STOP 6 24 if ( (s4 .eq. t4)) STOP 7 25 if (.not. (s4 .ne. t4)) STOP 8 26 if ( (s4 <= t4)) STOP 9 27 if ( (s4 < t4)) STOP 10 28 if ( (s4 .le. t4)) STOP 11 29 if ( (s4 .lt. t4)) STOP 12 30 31 if (.not. (s4 >= u4)) STOP 13 32 if ( (s4 > u4)) STOP 14 33 if (.not. (s4 .ge. u4)) STOP 15 34 if ( (s4 .gt. u4)) STOP 16 35 if (.not. (s4 == u4)) STOP 17 36 if ( (s4 /= u4)) STOP 18 37 if (.not. (s4 .eq. u4)) STOP 19 38 if ( (s4 .ne. u4)) STOP 20 39 if (.not. (s4 <= u4)) STOP 21 40 if ( (s4 < u4)) STOP 22 41 if (.not. (s4 .le. u4)) STOP 23 42 if ( (s4 .lt. u4)) STOP 24 43 44 if ( (s4 >= v4)) STOP 25 45 if ( (s4 > v4)) STOP 26 46 if ( (s4 .ge. v4)) STOP 27 47 if ( (s4 .gt. v4)) STOP 28 48 if ( (s4 == v4)) STOP 29 49 if (.not. (s4 /= v4)) STOP 30 50 if ( (s4 .eq. v4)) STOP 31 51 if (.not. (s4 .ne. v4)) STOP 32 52 if (.not. (s4 <= v4)) STOP 33 53 if (.not. (s4 < v4)) STOP 34 54 if (.not. (s4 .le. v4)) STOP 35 55 if (.not. (s4 .lt. v4)) STOP 36 56 57 end subroutine test 58 59 subroutine test2(t4, u4, v4) 60 character(kind=4,len=*) :: t4, u4, v4 61 62 if (.not. (4_" \xACp " >= t4)) STOP 37 63 if (.not. (4_" \xACp " > t4)) STOP 38 64 if (.not. (4_" \xACp " .ge. t4)) STOP 39 65 if (.not. (4_" \xACp " .gt. t4)) STOP 40 66 if ( (4_" \xACp " == t4)) STOP 41 67 if (.not. (4_" \xACp " /= t4)) STOP 42 68 if ( (4_" \xACp " .eq. t4)) STOP 43 69 if (.not. (4_" \xACp " .ne. t4)) STOP 44 70 if ( (4_" \xACp " <= t4)) STOP 45 71 if ( (4_" \xACp " < t4)) STOP 46 72 if ( (4_" \xACp " .le. t4)) STOP 47 73 if ( (4_" \xACp " .lt. t4)) STOP 48 74 75 if (.not. (4_" \xACp " >= u4)) STOP 49 76 if ( (4_" \xACp " > u4)) STOP 50 77 if (.not. (4_" \xACp " .ge. u4)) STOP 51 78 if ( (4_" \xACp " .gt. u4)) STOP 52 79 if (.not. (4_" \xACp " == u4)) STOP 53 80 if ( (4_" \xACp " /= u4)) STOP 54 81 if (.not. (4_" \xACp " .eq. u4)) STOP 55 82 if ( (4_" \xACp " .ne. u4)) STOP 56 83 if (.not. (4_" \xACp " <= u4)) STOP 57 84 if ( (4_" \xACp " < u4)) STOP 58 85 if (.not. (4_" \xACp " .le. u4)) STOP 59 86 if ( (4_" \xACp " .lt. u4)) STOP 60 87 88 if ( (4_" \xACp " >= v4)) STOP 61 89 if ( (4_" \xACp " > v4)) STOP 62 90 if ( (4_" \xACp " .ge. v4)) STOP 63 91 if ( (4_" \xACp " .gt. v4)) STOP 64 92 if ( (4_" \xACp " == v4)) STOP 65 93 if (.not. (4_" \xACp " /= v4)) STOP 66 94 if ( (4_" \xACp " .eq. v4)) STOP 67 95 if (.not. (4_" \xACp " .ne. v4)) STOP 68 96 if (.not. (4_" \xACp " <= v4)) STOP 69 97 if (.not. (4_" \xACp " < v4)) STOP 70 98 if (.not. (4_" \xACp " .le. v4)) STOP 71 99 if (.not. (4_" \xACp " .lt. v4)) STOP 72 100 101 end subroutine test2 102 103 subroutine test3(t4, u4, v4) 104 character(kind=4,len=*) :: t4, u4, v4 105 106 if (.not. (4_" \xACp " >= 4_" \x900000 ")) STOP 73 107 if (.not. (4_" \xACp " > 4_" \x900000 ")) STOP 74 108 if (.not. (4_" \xACp " .ge. 4_" \x900000 ")) STOP 75 109 if (.not. (4_" \xACp " .gt. 4_" \x900000 ")) STOP 76 110 if ( (4_" \xACp " == 4_" \x900000 ")) STOP 77 111 if (.not. (4_" \xACp " /= 4_" \x900000 ")) STOP 78 112 if ( (4_" \xACp " .eq. 4_" \x900000 ")) STOP 79 113 if (.not. (4_" \xACp " .ne. 4_" \x900000 ")) STOP 80 114 if ( (4_" \xACp " <= 4_" \x900000 ")) STOP 81 115 if ( (4_" \xACp " < 4_" \x900000 ")) STOP 82 116 if ( (4_" \xACp " .le. 4_" \x900000 ")) STOP 83 117 if ( (4_" \xACp " .lt. 4_" \x900000 ")) STOP 84 118 119 if (.not. (4_" \xACp " >= 4_" \xACp ")) STOP 85 120 if ( (4_" \xACp " > 4_" \xACp ")) STOP 86 121 if (.not. (4_" \xACp " .ge. 4_" \xACp ")) STOP 87 122 if ( (4_" \xACp " .gt. 4_" \xACp ")) STOP 88 123 if (.not. (4_" \xACp " == 4_" \xACp ")) STOP 89 124 if ( (4_" \xACp " /= 4_" \xACp ")) STOP 90 125 if (.not. (4_" \xACp " .eq. 4_" \xACp ")) STOP 91 126 if ( (4_" \xACp " .ne. 4_" \xACp ")) STOP 92 127 if (.not. (4_" \xACp " <= 4_" \xACp ")) STOP 93 128 if ( (4_" \xACp " < 4_" \xACp ")) STOP 94 129 if (.not. (4_" \xACp " .le. 4_" \xACp ")) STOP 95 130 if ( (4_" \xACp " .lt. 4_" \xACp ")) STOP 96 131 132 if ( (4_" \xACp " >= 4_"ddd")) STOP 97 133 if ( (4_" \xACp " > 4_"ddd")) STOP 98 134 if ( (4_" \xACp " .ge. 4_"ddd")) STOP 99 135 if ( (4_" \xACp " .gt. 4_"ddd")) STOP 100 136 if ( (4_" \xACp " == 4_"ddd")) STOP 101 137 if (.not. (4_" \xACp " /= 4_"ddd")) STOP 102 138 if ( (4_" \xACp " .eq. 4_"ddd")) STOP 103 139 if (.not. (4_" \xACp " .ne. 4_"ddd")) STOP 104 140 if (.not. (4_" \xACp " <= 4_"ddd")) STOP 105 141 if (.not. (4_" \xACp " < 4_"ddd")) STOP 106 142 if (.not. (4_" \xACp " .le. 4_"ddd")) STOP 107 143 if (.not. (4_" \xACp " .lt. 4_"ddd")) STOP 108 144 145 end subroutine test3 146 147end 148