| ! RUN: %python %S/test_errors.py %s %flang_fc1 -funsigned | |
| implicit unsigned(u) | |
| real a(10) | |
| !ERROR: Must have INTEGER type, but is UNSIGNED(4) | |
| real(kind=4u) x | |
| !ERROR: Both operands must be UNSIGNED | |
| print *, 0 + 1u | |
| !ERROR: Both operands must be UNSIGNED | |
| print *, 0u + 1 | |
| !ERROR: Both operands must be UNSIGNED | |
| print *, 0. + 1u | |
| !ERROR: Both operands must be UNSIGNED | |
| print *, 0u + 1. | |
| print *, -0u ! ok | |
| print *, 0u + 1u ! ok | |
| print *, 0u - 1u ! ok | |
| print *, 0u * 1u ! ok | |
| print *, 0u / 1u ! ok | |
| print *, 0u ** 1u ! ok | |
| print *, uint((0.,0.)) ! ok | |
| print *, uint(z'123') ! ok | |
| !ERROR: Actual argument for 'a=' has bad type 'CHARACTER(KIND=1,LEN=1_8)' | |
| print *, uint("a") | |
| !ERROR: Actual argument for 'a=' has bad type 'LOGICAL(4)' | |
| print *, uint(.true.) | |
| !ERROR: Actual argument for 'l=' has bad type 'UNSIGNED(4)' | |
| print *, logical(0u) | |
| !ERROR: Actual argument for 'i=' has bad type 'UNSIGNED(4)' | |
| print *, char(0u) | |
| !ERROR: 'handler=' argument to SIGNAL() must be a procedure or a scalar INTEGER | |
| call signal(10, u) | |
| !ERROR: DO controls should be INTEGER | |
| !ERROR: DO controls should be INTEGER | |
| !ERROR: DO controls should be INTEGER | |
| do u = 0u, 1u | |
| end do | |
| !ERROR: DO controls should be INTEGER | |
| do u = 0, 1 | |
| end do | |
| !ERROR: DO controls should be INTEGER | |
| !ERROR: DO controls should be INTEGER | |
| do j = 0u, 1u | |
| end do | |
| select case (u) ! ok | |
| case(0u) ! ok | |
| !ERROR: CASE value has type 'INTEGER(4)' which is not compatible with the SELECT CASE expression's type 'UNSIGNED(4)' | |
| case(1) | |
| end select | |
| select case (j) | |
| !ERROR: CASE value has type 'UNSIGNED(4)' which is not compatible with the SELECT CASE expression's type 'INTEGER(4)' | |
| case(0u) | |
| end select | |
| u = z'1' ! ok | |
| !ERROR: No intrinsic or user-defined ASSIGNMENT(=) matches operand types UNSIGNED(4) and INTEGER(4) | |
| u = 1 | |
| !ERROR: No intrinsic or user-defined ASSIGNMENT(=) matches operand types INTEGER(4) and UNSIGNED(4) | |
| j = 1u | |
| !ERROR: I/O unit must be a character variable or a scalar integer expression, but is an expression of type UNSIGNED(4) | |
| write(6u,*) 'hi' | |
| !ERROR: ARITHMETIC IF expression must not be an UNSIGNED expression | |
| if (1u) 1,1,1 | |
| 1 continue | |
| !ERROR: Must have INTEGER type, but is UNSIGNED(4) | |
| print *, a(u) | |
| end |