! RUN: %python %S/test_errors.py %s %flang_fc1
character(20), parameter :: kp_ok = "(4P,E20.5,E15.5)"
character(20), parameter :: kp_xx = "(4P,E20.5,E15.2)"
write(*,*)
write(*,'()')
write(*,'(A)')
write(*,'(2X:2X)')
write(*,'(2X/2X)')
write(*,'(3/2X)')
write(*,'(3PF5.2)')
write(*,'(+3PF5.2)')
write(*,'(-3PF5.2)')
write(*,'(000p,10p,0p)')
write(*,'(3P7D5.2)')
write(*,'(3P,7F5.2)')
write(*,'(2X,(i3))')
write(*,'(5X,*(2X,I2))')
write(*,'(5X,*(2X,DT))')
write(*,'(*(DT))')
write(*,'(*(DT"value"))')
write(*,'(*(DT(+1,0,-1)))')
write(*,'(*(DT"value"(+1,000,-1)))')
write(*,'(*(DT(0)))')
write(*,'(S,(RZ),2E10.3)')
write(*,'(7I2)')
write(*,'(07I02)')
write(*,'(07I02.01)')
write(*,'(07I02.02)')
write(*,'(I0)')
write(*,'(G4.2)')
write(*,'(G0.8)')
write(*,'(T3)')
write(*,'("abc")')
write(*,'("""abc""")')
write(*,'("a""""bc", 2x)')
write(*,'(3Habc)')
write(*,'(3Habc, 2X, 3X)')
write(*,'(987654321098765432X)')
write(*,'($)')
write(*,'(\)')
write(*,'(RZ,RU,RP,RN,RD,RC,SS,SP,S,3G15.3e2)')
write(*, '(' // achar( 9) // ')') ! horizontal tab
write(*, '(' // achar(11) // ')') ! vertical tab
write(*, '(' // achar(32) // ')') ! space
write(*, kp_ok)
write(*, '(-4P,E20.5,E15.5)')
write(*, '(D20.0)')
! C1302 warnings; no errors
write(*,'(3P7I2)')
write(*,'(5X i3)')
write(*,'(XEN)')
!ERROR: Empty format expression
write(*,"")
!ERROR: Empty format expression
write(*,"" // '' // "")
!ERROR: Format expression must have an initial '('
write(*,'I3')
!ERROR: Unexpected '+' in format expression
write(*,'(+7I2)')
!ERROR: Unexpected '-' in format expression
write(*,'(-7I2)')
!ERROR: 'P' edit descriptor must have a scale factor
write(*,'(P7F5.2)')
!ERROR: 'P' edit descriptor must have a scale factor
write(*,'(P7F' // '5.2)')
!ERROR: Unexpected integer constant
write(*,'(X,3,3L4)')
!ERROR: Unexpected ',' before ')' in format expression
write(*,'(X,i3,)')
!ERROR: Unexpected ',' in format expression
write(*,'(X,i3,,)')
!ERROR: Unexpected ',' in format expression
!ERROR: Unexpected ',' before ')' in format expression
write(*,'(X,i3,,,)')
!ERROR: Unexpected ',' before ')' in format expression
write(*,'(X,(i3,))')
!ERROR: Unexpected '*' in format expression
write(*,'(*)')
!ERROR: Expected integer constant in 'DT' edit descriptor v-list
write(*,'(*(DT(+1,0,=1)))')
!ERROR: Expected integer constant in 'DT' edit descriptor v-list
write(*,'(DT(1,0,+))')
!ERROR: Expected integer constant in 'DT' edit descriptor v-list
write(*,'(DT(1,0,*))')
!ERROR: Expected ',' or ')' in 'DT' edit descriptor v-list
write(*,'(DT(1,0,2*))')
!ERROR: Expected ',' or ')' in 'DT' edit descriptor v-list
write(*,'(DT(1,0,2*,+,?))')
!ERROR: Expected integer constant in 'DT' edit descriptor v-list
!ERROR: Unterminated format expression
write(*,'(DT(1,0,*)')
!ERROR: Expected ',' or ')' in 'DT' edit descriptor v-list
!ERROR: Unterminated format expression
write(*,'(DT(1,0,2*,+,?)')
!ERROR: Unexpected '?' in format expression
!ERROR: Unexpected ',' in format expression
write(*,'(?,*(DT(+1,,1)))')
!ERROR: Repeat specifier before unlimited format item list
!ERROR: Unlimited format item list must contain a data edit descriptor
write(*,'(5X,3*(2(X)))')
!ERROR: Nested unlimited format item list
write(*,'(D12.2,(*(F10.2)))')
!ERROR: Unlimited format item list must contain a data edit descriptor
write(*,'(5X,*(2(X)))')
!ERROR: Character in format after unlimited format item list
write(*,'(*(Z5),*(2F20.3))')
!ERROR: Character in format after unlimited format item list
write(*,'(*(B5),*(2(I5)))')
!ERROR: Character in format after unlimited format item list
write(*,'(*(I5), D12.7)')
!ERROR: 'I' edit descriptor 'm' value is greater than 'w' value
write(*,'(07I02.0 3)')
!ERROR: 'Z' edit descriptor 'm' value is greater than 'w' value
write(*,'(07Z02.4)')
!ERROR: 'I' edit descriptor repeat specifier must be positive
write(*,'(0I2)')
!ERROR: List repeat specifier must be positive
write(*,'(0(I2))')
!ERROR: List repeat specifier must be positive
write(*,'(000(I2))')
!ERROR: List repeat specifier must be positive
!ERROR: 'I' edit descriptor repeat specifier must be positive
write(*,'(0(0I2))')
!ERROR: Kind parameter '_' character in format expression
write(*,'(5_4X)')
!ERROR: Unexpected '+' in format expression
write(*,'(I+3)')
!ERROR: Unexpected '-' in format expression
write(*,'(I-3)')
!ERROR: Unexpected '-' in format expression
write(*,'(I-3, X)')
!ERROR: 'X' edit descriptor must have a positive position value
write(*,'(0X)')
!ERROR: Unexpected 'Y' in format expression
write(*,'(XY)')
!ERROR: Unexpected 'Y' in format expression
write(*,'(XYM)')
!ERROR: Unexpected 'M' in format expression
write(*,'(MXY)')
!ERROR: Unexpected 'R' in format expression
!ERROR: Unexpected 'R' in format expression
write(*,"(RR, RV)")
!ERROR: Unexpected '-' in format expression
!ERROR: Unexpected 'Y' in format expression
write(*,'(I-3, XY)')
!ERROR: 'A' edit descriptor 'w' value must be positive
write(*,'(A0)')
!ERROR: 'L' edit descriptor 'w' value must be positive
write(*,'(L0)')
!ERROR: Expected 'G' edit descriptor '.d' value
write(*,'(G4)')
!ERROR: A 'G0' edit descriptor must not have an 'e' value
write(*,'(G0.8e)')
!ERROR: A 'G0' edit descriptor must not have an 'e' value
write(*,'(G0.8e2)')
!ERROR: Kind parameter '_' character in format expression
write(*,'(I5_4)')
!ERROR: Kind parameter '_' character in format expression
write(*,'(5_4P)')
!ERROR: 'T' edit descriptor must have a positive position value
write(*,'(T0)')
!ERROR: 'T' edit descriptor must have a positive position value
!ERROR: Unterminated format expression
write(*,'(T0')
!ERROR: 'TL' edit descriptor must have a positive position value
!ERROR: 'T' edit descriptor must have a positive position value
!ERROR: Expected 'EN' edit descriptor 'd' value after '.'
write(*,'(TL0,T0,EN12.)')
!ERROR: Expected 'EX' edit descriptor 'e' value after 'E'
write(*,'(EX12.3e2, EX12.3e)')
!ERROR: 'TL' edit descriptor must have a positive position value
!ERROR: 'T' edit descriptor must have a positive position value
!ERROR: Unterminated format expression
write(*,'(TL00,T000')
!ERROR: Unterminated format expression
write(*,'(')
!ERROR: Unterminated format expression
write(*,'(-')
!ERROR: Unterminated format expression
write(*,'(I3+')
!ERROR: Unterminated format expression
write(*,'(I3,-')
!ERROR: Unexpected integer constant
write(*,'(3)')
!ERROR: Unexpected ',' before ')' in format expression
write(*,'(3,)')
!ERROR: Unexpected ',' in format expression
write(*,'(,3)')
!ERROR: Unexpected ',' before ')' in format expression
write(*,'(,)')
!ERROR: Unterminated format expression
write(*,'(X')
!ERROR: Unterminated format expression
write(*,'(XX') ! C1302 warning is not an error
!ERROR: Unexpected '@' in format expression
!ERROR: Unexpected '#' in format expression
!ERROR: Unexpected '&' in format expression
write(*,'(@@, # ,&&& &&, ignore error 4)')
!ERROR: Repeat specifier before 'TR' edit descriptor
write(*,'(3TR0)')
!ERROR: 'TR' edit descriptor must have a positive position value
write(*,'(TR0)')
!ERROR: Kind parameter '_' character in format expression
write(*,'(3_4X)')
!ERROR: Kind parameter '_' character in format expression
write(*,'(1_"abc")')
!ERROR: Unterminated string
!ERROR: Unterminated format expression
write(*,'("abc)')
!ERROR: Unexpected '_' in format expression
write(*,'("abc"_1)')
!ERROR: Unexpected '@' in format expression
write(*,'(3Habc, 3@, X)')
!ERROR: Unterminated format expression
write(*,'(4Habc)')
!ERROR: Unterminated 'H' edit descriptor
!ERROR: Unterminated format expression
write(*,'(5Habc)')
!ERROR: Unterminated 'H' edit descriptor
!ERROR: Unterminated format expression
write(*,'(50Habc)')
!ERROR: Integer overflow in format expression
write(*,'(9876543210987654321X)')
!ERROR: Integer overflow in format expression
write(*,'(98765432109876543210X)')
!ERROR: Integer overflow in format expression
write(*,'(I98765432109876543210)')
!ERROR: Integer overflow in format expression
write(*,'(45I20.98765432109876543210, 45I20)')
!ERROR: Integer overflow in format expression
write(*,'(45' // ' I20.9876543' // '2109876543210, 45I20)')
!ERROR: Repeat specifier before '$' edit descriptor
write(*,'(7$)')
!ERROR: Positive scale factor k (from kP) and width d in a 'E' edit descriptor must satisfy 'k < d+2'
write(*, kp_xx)
!ERROR: Negative scale factor k (from kP) and width d in a 'E' edit descriptor must satisfy '-d < k'
write(*, '(-4P,E20.5,E15.2)')
end