blob: d2e283dec55fdfa12d5bbeb0f355d7e07cd28f5b [file] [edit]
! RUN: %python %S/test_errors.py %s %flang_fc1
program main
implicit none
contains
subroutine good(x, y, z, dim_a, scalar1, scalar2)
integer :: dim_a(1)
!valid cases
!simple rank-1 integer array reference
! ERROR: not yet implemented: Analyze overload for AssumedShapeBoundsSpec
integer :: x(dim_a:)
!rank-1 integer array + scalar = rank-1 integer array
! ERROR: not yet implemented: Analyze overload for AssumedShapeBoundsSpec
integer :: y(dim_a + 2:)
!rank-1 integer array via array constructor literal, with some non-const values
! ERROR: not yet implemented: Analyze overload for AssumedShapeBoundsSpec
integer :: z([1,2,dim_a(1) + x(dim_a(1))]:)
!rank-1 zero sized array is valid and should declare a scalar
! ERROR: not yet implemented: Analyze overload for AssumedShapeBoundsSpec
integer :: scalar1([integer::]:)
integer :: empty_arr(0) = [integer::]
! ERROR: not yet implemented: Analyze overload for AssumedShapeBoundsSpec
integer :: scalar2(empty_arr:)
end subroutine
subroutine bad(x, y, z, dim1_assumed, dim2_assumed)
integer :: dim3(3, 3, 3)
integer :: dim1_assumed(:)
integer :: dim2_assumed(:,:)
! invalid cases:
! future_ERROR: Rank-1 integer array used as lower bounds in DECLARATION must have constant size
! ERROR: not yet implemented: Analyze overload for AssumedShapeBoundsSpec
integer :: x(dim1_assumed:)
! future_ERROR: Integer array used as lower bounds in DECLARATION must be rank-1 but is rank-3
! ERROR: not yet implemented: Analyze overload for AssumedShapeBoundsSpec
integer :: y(dim3:)
! Combining both errors in one declaration, plus integer-check from type wrapper
! future_ERROR: Integer array used as lower bounds in DECLARATION must be rank-1 but is rank-2
! future_ERROR: Rank-1 integer array used as lower bounds in DECLARATION must have constant size
! ERROR: not yet implemented: Analyze overload for AssumedShapeBoundsSpec
! ERROR: Must have INTEGER type, but is REAL(4)
integer :: z(dim2_assumed + 3.7:)
end subroutine
end program