Mercurial > hg > CbC > CbC_llvm
view flang/test/Semantics/resolve55.f90 @ 181:df311c476dd5
CreateIdentifierInfo in ParseCbC (not yet worked)
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 31 May 2020 12:30:11 +0900 |
parents | 0572611fdcc8 |
children | 2e18cbf3894f |
line wrap: on
line source
! RUN: %S/test_errors.sh %s %t %f18 ! Tests for C1128: ! A variable-name that appears in a LOCAL or LOCAL_INIT locality-spec shall not ! have the ALLOCATABLE; INTENT (IN); or OPTIONAL attribute; shall not be of ! finalizable type; shall not be a nonpointer polymorphic dummy argument; and ! shall not be a coarray or an assumed-size array. subroutine s1() ! Cannot have ALLOCATABLE variable in a locality spec integer, allocatable :: k !ERROR: ALLOCATABLE variable 'k' not allowed in a locality-spec do concurrent(i=1:5) local(k) end do end subroutine s1 subroutine s2(arg) ! Cannot have a dummy OPTIONAL in a locality spec integer, optional :: arg !ERROR: OPTIONAL argument 'arg' not allowed in a locality-spec do concurrent(i=1:5) local(arg) end do end subroutine s2 subroutine s3(arg) ! This is OK real :: arg do concurrent(i=1:5) local(arg) end do end subroutine s3 subroutine s4(arg) ! Cannot have a dummy INTENT(IN) in a locality spec real, intent(in) :: arg !ERROR: INTENT IN argument 'arg' not allowed in a locality-spec do concurrent(i=1:5) local(arg) end do end subroutine s4 subroutine s5() ! Cannot have a variable of a finalizable type in a locality spec type t1 integer :: i contains final :: f end type t1 type(t1) :: var !ERROR: Finalizable variable 'var' not allowed in a locality-spec do concurrent(i=1:5) local(var) end do contains subroutine f(x) type(t1) :: x end subroutine f end subroutine s5 subroutine s6 ! Cannot have a nonpointer polymorphic dummy argument in a locality spec type :: t integer :: field end type t contains subroutine s(x, y) class(t), pointer :: x class(t) :: y ! This is allowed do concurrent(i=1:5) local(x) end do ! This is not allowed !ERROR: Nonpointer polymorphic argument 'y' not allowed in a locality-spec do concurrent(i=1:5) local(y) end do end subroutine s end subroutine s6 subroutine s7() ! Cannot have a coarray integer, codimension[*] :: coarray_var !ERROR: Coarray 'coarray_var' not allowed in a locality-spec do concurrent(i=1:5) local(coarray_var) end do end subroutine s7 subroutine s8(arg) ! Cannot have an assumed size array integer, dimension(*) :: arg !ERROR: Assumed size array 'arg' not allowed in a locality-spec do concurrent(i=1:5) local(arg) end do end subroutine s8