1*fc97d2e6SPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1 -funsigned 2*fc97d2e6SPeter Klausler 3*fc97d2e6SPeter Klauslerimplicit unsigned(u) 4*fc97d2e6SPeter Klauslerreal a(10) 5*fc97d2e6SPeter Klausler 6*fc97d2e6SPeter Klausler!ERROR: Must have INTEGER type, but is UNSIGNED(4) 7*fc97d2e6SPeter Klauslerreal(kind=4u) x 8*fc97d2e6SPeter Klausler 9*fc97d2e6SPeter Klausler!ERROR: Both operands must be UNSIGNED 10*fc97d2e6SPeter Klauslerprint *, 0 + 1u 11*fc97d2e6SPeter Klausler!ERROR: Both operands must be UNSIGNED 12*fc97d2e6SPeter Klauslerprint *, 0u + 1 13*fc97d2e6SPeter Klausler!ERROR: Both operands must be UNSIGNED 14*fc97d2e6SPeter Klauslerprint *, 0. + 1u 15*fc97d2e6SPeter Klausler!ERROR: Both operands must be UNSIGNED 16*fc97d2e6SPeter Klauslerprint *, 0u + 1. 17*fc97d2e6SPeter Klausler 18*fc97d2e6SPeter Klauslerprint *, -0u ! ok 19*fc97d2e6SPeter Klauslerprint *, 0u + 1u ! ok 20*fc97d2e6SPeter Klauslerprint *, 0u - 1u ! ok 21*fc97d2e6SPeter Klauslerprint *, 0u * 1u ! ok 22*fc97d2e6SPeter Klauslerprint *, 0u / 1u ! ok 23*fc97d2e6SPeter Klausler!ERROR: Operands must not be UNSIGNED 24*fc97d2e6SPeter Klauslerprint *, 0u ** 1u 25*fc97d2e6SPeter Klausler 26*fc97d2e6SPeter Klauslerprint *, uint((0.,0.)) ! ok 27*fc97d2e6SPeter Klauslerprint *, uint(z'123') ! ok 28*fc97d2e6SPeter Klausler!ERROR: Actual argument for 'a=' has bad type 'CHARACTER(KIND=1,LEN=1_8)' 29*fc97d2e6SPeter Klauslerprint *, uint("a") 30*fc97d2e6SPeter Klausler!ERROR: Actual argument for 'a=' has bad type 'LOGICAL(4)' 31*fc97d2e6SPeter Klauslerprint *, uint(.true.) 32*fc97d2e6SPeter Klausler!ERROR: Actual argument for 'l=' has bad type 'UNSIGNED(4)' 33*fc97d2e6SPeter Klauslerprint *, logical(0u) 34*fc97d2e6SPeter Klausler!ERROR: Actual argument for 'i=' has bad type 'UNSIGNED(4)' 35*fc97d2e6SPeter Klauslerprint *, char(0u) 36*fc97d2e6SPeter Klausler 37*fc97d2e6SPeter Klausler!ERROR: DO controls should be INTEGER 38*fc97d2e6SPeter Klausler!ERROR: DO controls should be INTEGER 39*fc97d2e6SPeter Klausler!ERROR: DO controls should be INTEGER 40*fc97d2e6SPeter Klauslerdo u = 0u, 1u 41*fc97d2e6SPeter Klauslerend do 42*fc97d2e6SPeter Klausler!ERROR: DO controls should be INTEGER 43*fc97d2e6SPeter Klauslerdo u = 0, 1 44*fc97d2e6SPeter Klauslerend do 45*fc97d2e6SPeter Klausler!ERROR: DO controls should be INTEGER 46*fc97d2e6SPeter Klausler!ERROR: DO controls should be INTEGER 47*fc97d2e6SPeter Klauslerdo j = 0u, 1u 48*fc97d2e6SPeter Klauslerend do 49*fc97d2e6SPeter Klausler 50*fc97d2e6SPeter Klauslerselect case (u) ! ok 51*fc97d2e6SPeter Klauslercase(0u) ! ok 52*fc97d2e6SPeter Klausler!ERROR: CASE value has type 'INTEGER(4)' which is not compatible with the SELECT CASE expression's type 'UNSIGNED(4)' 53*fc97d2e6SPeter Klauslercase(1) 54*fc97d2e6SPeter Klauslerend select 55*fc97d2e6SPeter Klausler 56*fc97d2e6SPeter Klauslerselect case (j) 57*fc97d2e6SPeter Klausler!ERROR: CASE value has type 'UNSIGNED(4)' which is not compatible with the SELECT CASE expression's type 'INTEGER(4)' 58*fc97d2e6SPeter Klauslercase(0u) 59*fc97d2e6SPeter Klauslerend select 60*fc97d2e6SPeter Klausler 61*fc97d2e6SPeter Klausleru = z'1' ! ok 62*fc97d2e6SPeter Klausler!ERROR: No intrinsic or user-defined ASSIGNMENT(=) matches operand types UNSIGNED(4) and INTEGER(4) 63*fc97d2e6SPeter Klausleru = 1 64*fc97d2e6SPeter Klausler!ERROR: No intrinsic or user-defined ASSIGNMENT(=) matches operand types INTEGER(4) and UNSIGNED(4) 65*fc97d2e6SPeter Klauslerj = 1u 66*fc97d2e6SPeter Klausler 67*fc97d2e6SPeter Klausler!ERROR: Must have INTEGER type, but is UNSIGNED(4) 68*fc97d2e6SPeter Klauslerwrite(6u,*) 'hi' 69*fc97d2e6SPeter Klausler 70*fc97d2e6SPeter Klausler!ERROR: ARITHMETIC IF expression must not be an UNSIGNED expression 71*fc97d2e6SPeter Klauslerif (1u) 1,1,1 72*fc97d2e6SPeter Klausler1 continue 73*fc97d2e6SPeter Klausler 74*fc97d2e6SPeter Klausler!ERROR: Must have INTEGER type, but is UNSIGNED(4) 75*fc97d2e6SPeter Klauslerprint *, a(u) 76*fc97d2e6SPeter Klausler 77*fc97d2e6SPeter Klauslerend 78