1! { dg-do compile } 2! { dg-options "-fmax-errors=1000" } 3 4 character(kind=1,len=20) :: s1, t1 5 character(kind=4,len=20) :: s4, t4 6 7 print *, "" // "" 8 print *, "" // 4_"" ! { dg-error "Operands of string concatenation operator" } 9 print *, 4_"" // "" ! { dg-error "Operands of string concatenation operator" } 10 print *, 4_"" // 4_"" 11 12 print *, s1 // "" 13 print *, s1 // 4_"" ! { dg-error "Operands of string concatenation operator" } 14 print *, s4 // "" ! { dg-error "Operands of string concatenation operator" } 15 print *, s4 // 4_"" 16 17 print *, "" // s1 18 print *, 4_"" // s1 ! { dg-error "Operands of string concatenation operator" } 19 print *, "" // s4 ! { dg-error "Operands of string concatenation operator" } 20 print *, 4_"" // s4 21 22 print *, s1 // t1 23 print *, s1 // t4 ! { dg-error "Operands of string concatenation operator" } 24 print *, s4 // t1 ! { dg-error "Operands of string concatenation operator" } 25 print *, s4 // t4 26 27 print *, s1 .eq. "" 28 print *, s1 .eq. 4_"" ! { dg-error "Operands of comparison operator" } 29 print *, s4 .eq. "" ! { dg-error "Operands of comparison operator" } 30 print *, s4 .eq. 4_"" 31 32 print *, s1 == "" 33 print *, s1 == 4_"" ! { dg-error "Operands of comparison operator" } 34 print *, s4 == "" ! { dg-error "Operands of comparison operator" } 35 print *, s4 == 4_"" 36 37 print *, s1 .ne. "" 38 print *, s1 .ne. 4_"" ! { dg-error "Operands of comparison operator" } 39 print *, s4 .ne. "" ! { dg-error "Operands of comparison operator" } 40 print *, s4 .ne. 4_"" 41 42 print *, s1 /= "" 43 print *, s1 /= 4_"" ! { dg-error "Operands of comparison operator" } 44 print *, s4 /= "" ! { dg-error "Operands of comparison operator" } 45 print *, s4 /= 4_"" 46 47 print *, s1 .le. "" 48 print *, s1 .le. 4_"" ! { dg-error "Operands of comparison operator" } 49 print *, s4 .le. "" ! { dg-error "Operands of comparison operator" } 50 print *, s4 .le. 4_"" 51 52 print *, s1 <= "" 53 print *, s1 <= 4_"" ! { dg-error "Operands of comparison operator" } 54 print *, s4 <= "" ! { dg-error "Operands of comparison operator" } 55 print *, s4 <= 4_"" 56 57 print *, s1 .ge. "" 58 print *, s1 .ge. 4_"" ! { dg-error "Operands of comparison operator" } 59 print *, s4 .ge. "" ! { dg-error "Operands of comparison operator" } 60 print *, s4 .ge. 4_"" 61 62 print *, s1 >= "" 63 print *, s1 >= 4_"" ! { dg-error "Operands of comparison operator" } 64 print *, s4 >= "" ! { dg-error "Operands of comparison operator" } 65 print *, s4 >= 4_"" 66 67 print *, s1 .lt. "" 68 print *, s1 .lt. 4_"" ! { dg-error "Operands of comparison operator" } 69 print *, s4 .lt. "" ! { dg-error "Operands of comparison operator" } 70 print *, s4 .lt. 4_"" 71 72 print *, s1 < "" 73 print *, s1 < 4_"" ! { dg-error "Operands of comparison operator" } 74 print *, s4 < "" ! { dg-error "Operands of comparison operator" } 75 print *, s4 < 4_"" 76 77 print *, s1 .gt. "" 78 print *, s1 .gt. 4_"" ! { dg-error "Operands of comparison operator" } 79 print *, s4 .gt. "" ! { dg-error "Operands of comparison operator" } 80 print *, s4 .gt. 4_"" 81 82 print *, s1 > "" 83 print *, s1 > 4_"" ! { dg-error "Operands of comparison operator" } 84 print *, s4 > "" ! { dg-error "Operands of comparison operator" } 85 print *, s4 > 4_"" 86 87 print *, "" == "" 88 print *, 4_"" == "" ! { dg-error "Operands of comparison operator" } 89 print *, "" .eq. "" 90 print *, 4_"" .eq. "" ! { dg-error "Operands of comparison operator" } 91 print *, "" /= "" 92 print *, 4_"" /= "" ! { dg-error "Operands of comparison operator" } 93 print *, "" .ne. "" 94 print *, 4_"" .ne. "" ! { dg-error "Operands of comparison operator" } 95 print *, "" .lt. "" 96 print *, 4_"" .lt. "" ! { dg-error "Operands of comparison operator" } 97 print *, "" < "" 98 print *, 4_"" < "" ! { dg-error "Operands of comparison operator" } 99 print *, "" .le. "" 100 print *, 4_"" .le. "" ! { dg-error "Operands of comparison operator" } 101 print *, "" <= "" 102 print *, 4_"" <= "" ! { dg-error "Operands of comparison operator" } 103 print *, "" .gt. "" 104 print *, 4_"" .gt. "" ! { dg-error "Operands of comparison operator" } 105 print *, "" > "" 106 print *, 4_"" > "" ! { dg-error "Operands of comparison operator" } 107 print *, "" .ge. "" 108 print *, 4_"" .ge. "" ! { dg-error "Operands of comparison operator" } 109 print *, "" >= "" 110 print *, 4_"" >= "" ! { dg-error "Operands of comparison operator" } 111 112 end 113