blob: c248be6937e21b36dcfd0da77eeeb867d8f01480 [file] [log] [blame]
! RUN: %python %S/test_errors.py %s %flang_fc1
! %VAL en %REF legacy extension semantic tests.
subroutine val_errors(array, string, polymorphic, derived)
type t
integer :: t
end type
integer :: array(10)
character(*) :: string
type(t) :: derived
type(*) :: polymorphic
!ERROR: %VAL argument must be a scalar numerical or logical expression
call foo1(%val(array))
!ERROR: %VAL argument must be a scalar numerical or logical expression
call foo2(%val(string))
!ERROR: %VAL argument must be a scalar numerical or logical expression
call foo3(%val(derived))
!ERROR: %VAL argument must be a scalar numerical or logical expression
!ERROR: Assumed type actual argument requires an explicit interface
call foo4(%val(polymorphic))
end subroutine
subroutine val_ok()
integer :: array(10)
real :: x
logical :: l
complex :: c
call ok1(%val(array(1)))
call ok2(%val(x))
call ok3(%val(l))
call ok4(%val(c))
call ok5(%val(42))
call ok6(%val(x+x))
end subroutine
subroutine ref_ok(array, string, derived)
type t
integer :: t
end type
integer :: array(10)
character(*) :: string
type(t) :: derived
call rok1(%ref(array))
call rok2(%ref(string))
call rok3(%ref(derived))
end subroutine