xref: /llvm-project/flang/test/Semantics/maxrank.f90 (revision 940871dd289c9f92ee32d899d58538c57c76c16d)
1*940871ddSPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1
2*940871ddSPeter Klausler! Enforce limits on rank + corank
3*940871ddSPeter Klauslermodule m
4*940871ddSPeter Klausler  !ERROR: 'x' has rank 16, which is greater than the maximum supported rank 15
5*940871ddSPeter Klausler  real :: x(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
6*940871ddSPeter Klausler  !ERROR: 'y' has rank 16, which is greater than the maximum supported rank 15
7*940871ddSPeter Klausler  real, allocatable :: y(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:)
8*940871ddSPeter Klausler  !ERROR: 'z' has rank 16, which is greater than the maximum supported rank 15
9*940871ddSPeter Klausler  real, pointer :: z(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:)
10*940871ddSPeter Klausler  !ERROR: 'w' has rank 16, which is greater than the maximum supported rank 15
11*940871ddSPeter Klausler  real, dimension(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) :: w
12*940871ddSPeter Klausler  !ERROR: 'a' has rank 15 and corank 1, whose sum is greater than the maximum supported rank 15
13*940871ddSPeter Klausler  real :: a(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)[*]
14*940871ddSPeter Klausler  !ERROR: 'b' has rank 14 and corank 2, whose sum is greater than the maximum supported rank 15
15*940871ddSPeter Klausler  real :: b(1,1,1,1,1,1,1,1,1,1,1,1,1,1)[1,*]
16*940871ddSPeter Klausler  !ERROR: 'c' has rank 14 and corank 2, whose sum is greater than the maximum supported rank 15
17*940871ddSPeter Klausler  real :: c
18*940871ddSPeter Klausler  dimension :: c(1,1,1,1,1,1,1,1,1,1,1,1,1,1)
19*940871ddSPeter Klausler  codimension :: c[1,*]
20*940871ddSPeter Klausler  interface
21*940871ddSPeter Klausler    !ERROR: 'foo' has rank 16, which is greater than the maximum supported rank 15
22*940871ddSPeter Klausler    real function foo()
23*940871ddSPeter Klausler      dimension :: foo(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
24*940871ddSPeter Klausler    end function
25*940871ddSPeter Klausler  end interface
26*940871ddSPeter Klausler contains
27*940871ddSPeter Klausler  function bar() result(res)
28*940871ddSPeter Klausler    !ERROR: 'res' has rank 16, which is greater than the maximum supported rank 15
29*940871ddSPeter Klausler    real :: res(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
30*940871ddSPeter Klausler  end function
31*940871ddSPeter Klauslerend module
32