brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 2b0c4b6 Raw
92 lines · plain
1! RUN: %python %S/test_errors.py %s %flang_fc12! Tests for duplicate definitions and initializations, mostly of procedures3module m4  procedure(real), pointer :: p5  !ERROR: EXTERNAL attribute was already specified on 'p'6  !ERROR: POINTER attribute was already specified on 'p'7  !ERROR: The type of 'p' has already been declared8  procedure(integer), pointer :: p9end10 11module m112    real, dimension(:), pointer :: realArray => null()13    !ERROR: POINTER attribute was already specified on 'realarray'14    !ERROR: The type of 'realarray' has already been declared15    real, dimension(:), pointer :: realArray => localArray16end module m117 18module m219  interface20    subroutine sub()21    end subroutine sub22  end interface23 24  procedure(sub), pointer :: p1 => null()25  !ERROR: EXTERNAL attribute was already specified on 'p1'26  !ERROR: POINTER attribute was already specified on 'p1'27  !ERROR: The interface for procedure 'p1' has already been declared28  procedure(sub), pointer :: p1 => null()29 30end module m231 32module m333  interface34    real function fun()35    end function fun36  end interface37 38  procedure(fun), pointer :: f1 => null()39  !ERROR: EXTERNAL attribute was already specified on 'f1'40  !ERROR: POINTER attribute was already specified on 'f1'41  !ERROR: The interface for procedure 'f1' has already been declared42  procedure(fun), pointer :: f1 => null()43 44end module m345 46module m447  real, dimension(:), pointer :: localArray => null()48  type :: t249    real, dimension(:), pointer :: realArray => null()50    !ERROR: Component 'realarray' is already declared in this derived type51    real, dimension(:), pointer :: realArray => localArray52  end type53end module m454 55module m556  !ERROR: Actual argument for 'string=' has bad type 'REAL(4)'57  character(len=len(a)) :: b58  !ERROR: The type of 'a' has already been implicitly declared59  character(len=len(b)) :: a60end module m561 62module m663  integer, dimension(3) :: iarray64  !ERROR: Derived type 'ubound' not found65  character(len=ubound(iarray)(1)) :: first66end module m667 68module m769  integer, dimension(2) :: iarray70  !ERROR: Derived type 'ubound' not found71  integer :: ivar = ubound(iarray)(1)72end module m773 74module m875  integer :: iVar = 376  !ERROR: The type of 'ivar' has already been declared77  integer :: iVar = 478  integer, target :: jVar = 579  integer, target :: kVar = 580  integer, pointer :: pVar => jVar81  !ERROR: POINTER attribute was already specified on 'pvar'82  !ERROR: The type of 'pvar' has already been declared83  integer, pointer :: pVar => kVar84end module m885 86module m987  integer :: p, q88  procedure() p ! ok89  !ERROR: The type of 'q' has already been declared90  procedure(real) q91end module m992