1! RUN: %S/test_errors.sh %s %t %f18 2! Tests for duplicate definitions and initializations, mostly of procedures 3module m 4 procedure(real), pointer :: p 5 !ERROR: The interface for procedure 'p' has already been declared 6 procedure(integer), pointer :: p 7end 8 9module m1 10 real, dimension(:), pointer :: realArray => null() 11 !ERROR: The type of 'realarray' has already been declared 12 real, dimension(:), pointer :: realArray => localArray 13end module m1 14 15module m2 16 interface 17 subroutine sub() 18 end subroutine sub 19 end interface 20 21 procedure(sub), pointer :: p1 => null() 22 !ERROR: The interface for procedure 'p1' has already been declared 23 procedure(sub), pointer :: p1 => null() 24 25end module m2 26 27module m3 28 interface 29 real function fun() 30 end function fun 31 end interface 32 33 procedure(fun), pointer :: f1 => null() 34 !ERROR: The interface for procedure 'f1' has already been declared 35 procedure(fun), pointer :: f1 => null() 36 37end module m3 38 39module m4 40 real, dimension(:), pointer :: localArray => null() 41 type :: t2 42 real, dimension(:), pointer :: realArray => null() 43 !ERROR: Component 'realarray' is already declared in this derived type 44 real, dimension(:), pointer :: realArray => localArray 45 end type 46end module m4 47 48module m5 49 !ERROR: Actual argument for 'string=' has bad type 'REAL(4)' 50 character(len=len(a)) :: b 51 !ERROR: The type of 'a' has already been implicitly declared 52 character(len=len(b)) :: a 53end module m5 54 55module m6 56 integer, dimension(3) :: iarray 57 !ERROR: Derived type 'ubound' not found 58 character(len=ubound(iarray)(1)) :: first 59end module m6 60 61module m7 62 integer, dimension(2) :: iarray 63 !ERROR: Derived type 'ubound' not found 64 integer :: ivar = ubound(iarray)(1) 65end module m7 66