| ! { dg-do compile } |
| ! |
| ! PR fortran/36355 |
| ! Check MATMUL argument types: |
| ! |
| ! numeric logical other |
| ! numeric 1 2 3 |
| ! logical 2 1 3 |
| ! other 3 3 3 |
| ! |
| ! where |
| ! 1 ok |
| ! 2 argument type mismatch |
| ! 3 invalid argument types |
| ! |
| |
| INTEGER :: a(2,2) |
| LOGICAL :: b(2,2) |
| CHARACTER :: c |
| |
| a = MATMUL(a, a) ! ok |
| a = MATMUL(a, b) ! { dg-error "must match" } |
| a = MATMUL(a, c) ! { dg-error "must be numeric or LOGICAL" } |
| |
| b = MATMUL(b, a) ! { dg-error "must match" } |
| b = MATMUL(b, b) ! ok |
| b = MATMUL(b, c) ! { dg-error "must be numeric or LOGICAL" } |
| |
| c = MATMUL(c, a) ! { dg-error "must be numeric or LOGICAL" } |
| c = MATMUL(c, b) ! { dg-error "must be numeric or LOGICAL" } |
| c = MATMUL(c, c) ! { dg-error "must be numeric or LOGICAL" } |
| END |