111
|
1 ! { dg-do compile }
|
|
2 !
|
|
3 ! PR fortran/36355
|
|
4 ! Check MATMUL argument types:
|
|
5 !
|
|
6 ! numeric logical other
|
|
7 ! numeric 1 2 3
|
|
8 ! logical 2 1 3
|
|
9 ! other 3 3 3
|
|
10 !
|
|
11 ! where
|
|
12 ! 1 ok
|
|
13 ! 2 argument type mismatch
|
|
14 ! 3 invalid argument types
|
|
15 !
|
|
16
|
|
17 INTEGER :: a(2,2)
|
|
18 LOGICAL :: b(2,2)
|
|
19 CHARACTER :: c
|
|
20
|
|
21 a = MATMUL(a, a) ! ok
|
|
22 a = MATMUL(a, b) ! { dg-error "must match" }
|
|
23 a = MATMUL(a, c) ! { dg-error "must be numeric or LOGICAL" }
|
|
24
|
|
25 b = MATMUL(b, a) ! { dg-error "must match" }
|
|
26 b = MATMUL(b, b) ! ok
|
|
27 b = MATMUL(b, c) ! { dg-error "must be numeric or LOGICAL" }
|
|
28
|
|
29 c = MATMUL(c, a) ! { dg-error "must be numeric or LOGICAL" }
|
|
30 c = MATMUL(c, b) ! { dg-error "must be numeric or LOGICAL" }
|
|
31 c = MATMUL(c, c) ! { dg-error "must be numeric or LOGICAL" }
|
|
32 END
|