blob: 4351874825edfe3353a6bd151fe869aad7ff18f5 [file] [log] [blame]
! Using two spaces between dg-do and run is a hack to keep gfortran-dg-runtest
! from cycling through optimization options for this expensive test.
! { dg-do run }
! { dg-options "-O3 -fcray-pointer -fbounds-check -fno-inline" }
! { dg-timeout-factor 4 }
!
! Series of routines for testing a Cray pointer implementation
!
! Note: Some of the test cases violate Fortran's alias rules;
! the "-fno-inline option" for now prevents failures.
!
program craytest
common /errors/errors(400)
common /foo/foo ! To prevent optimizations
integer foo
integer i
logical errors
errors = .false.
foo = 0
call ptr1
call ptr2
call ptr3
call ptr4
call ptr5
call ptr6
call ptr7
call ptr8
call ptr9(9,10,11)
call ptr10(9,10,11)
call ptr11(9,10,11)
call ptr12(9,10,11)
call ptr13(9,10)
call parmtest
! NOTE: Tests 1 through 12 were removed from this file
! and placed in loc_1.f90, so we start at 13
do i=13,400
if (errors(i)) then
! print *,"Test",i,"failed."
STOP 1
endif
end do
if (foo.eq.0) then
! print *,"Test did not run correctly."
STOP 2
endif
end program craytest
! ptr1 through ptr13 that Cray pointees are correctly used with
! a variety of declaration styles
subroutine ptr1
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
type(drvd) dpte1(n)
type(drvd) dpte2(m,n)
type(drvd) dpte3(o,m,n)
integer ipte1 (n)
integer ipte2 (m,n)
integer ipte3 (o,m,n)
real rpte1(n)
real rpte2(m,n)
real rpte3(o,m,n)
character chpte1(n)
character chpte2(m,n)
character chpte3(o,m,n)
character*8 ch8pte1(n)
character*8 ch8pte2(m,n)
character*8 ch8pte3(o,m,n)
pointer(iptr1,dpte1)
pointer(iptr2,dpte2)
pointer(iptr3,dpte3)
pointer(iptr4,ipte1)
pointer(iptr5,ipte2)
pointer(iptr6,ipte3)
pointer(iptr7,rpte1)
pointer(iptr8,rpte2)
pointer(iptr9,rpte3)
pointer(iptr10,chpte1)
pointer(iptr11,chpte2)
pointer(iptr12,chpte3)
pointer(iptr13,ch8pte1)
pointer(iptr14,ch8pte2)
pointer(iptr15,ch8pte3)
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #13
errors(13) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #14
errors(14) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #15
errors(15) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #16
errors(16) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #17
errors(17) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #18
errors(18) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #19
errors(19) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #20
errors(20) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #21
errors(21) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #22
errors(22) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #23
errors(23) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #24
errors(24) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #25
errors(25) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #26
errors(26) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #27
errors(27) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #28
errors(28) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #29
errors(29) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #30
errors(30) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #31
errors(31) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #32
errors(32) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #33
errors(33) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #34
errors(34) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #35
errors(35) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #36
errors(36) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #37
errors(37) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #38
errors(38) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #39
errors(39) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #40
errors(40) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #41
errors(41) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #42
errors(42) = .true.
endif
end do
end do
end do
rtarg3 = .5
! Vector syntax
do, i=1,n
ipte3 = i
rpte3 = rpte3+1
do, j=1,m
do k=1,o
if (intne(itarg3(k,j,i), i)) then
! Error #43
errors(43) = .true.
endif
if (realne(rtarg3(k,j,i), i+.5)) then
! Error #44
errors(44) = .true.
endif
end do
end do
end do
end subroutine ptr1
subroutine ptr2
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
type(drvd) dpte1
type(drvd) dpte2
type(drvd) dpte3
integer ipte1
integer ipte2
integer ipte3
real rpte1
real rpte2
real rpte3
character chpte1
character chpte2
character chpte3
character*8 ch8pte1
character*8 ch8pte2
character*8 ch8pte3
pointer(iptr1,dpte1(n))
pointer(iptr2,dpte2(m,n))
pointer(iptr3,dpte3(o,m,n))
pointer(iptr4,ipte1(n))
pointer(iptr5,ipte2 (m,n))
pointer(iptr6,ipte3(o,m,n))
pointer(iptr7,rpte1(n))
pointer(iptr8,rpte2(m,n))
pointer(iptr9,rpte3(o,m,n))
pointer(iptr10,chpte1(n))
pointer(iptr11,chpte2(m,n))
pointer(iptr12,chpte3(o,m,n))
pointer(iptr13,ch8pte1(n))
pointer(iptr14,ch8pte2(m,n))
pointer(iptr15,ch8pte3(o,m,n))
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #45
errors(45) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #46
errors(46) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #47
errors(47) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #48
errors(48) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #49
errors(49) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #50
errors(50) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #51
errors(51) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #52
errors(52) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #53
errors(53) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #54
errors(54) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #55
errors(55) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #56
errors(56) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #57
errors(57) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #58
errors(58) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #59
errors(59) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #60
errors(60) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #61
errors(61) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #62
errors(62) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #63
errors(63) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #64
errors(64) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #65
errors(65) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #66
errors(66) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #67
errors(67) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #68
errors(68) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #69
errors(69) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #70
errors(70) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #71
errors(71) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #72
errors(72) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #73
errors(73) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #74
errors(74) = .true.
endif
end do
end do
end do
rtarg3 = .5
! Vector syntax
do, i=1,n
ipte3 = i
rpte3 = rpte3+1
do, j=1,m
do k=1,o
if (intne(itarg3(k,j,i), i)) then
! Error #75
errors(75) = .true.
endif
if (realne(rtarg3(k,j,i), i+.5)) then
! Error #76
errors(76) = .true.
endif
end do
end do
end do
end subroutine ptr2
subroutine ptr3
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
pointer(iptr1,dpte1(n))
pointer(iptr2,dpte2(m,n))
pointer(iptr3,dpte3(o,m,n))
pointer(iptr4,ipte1(n))
pointer(iptr5,ipte2 (m,n))
pointer(iptr6,ipte3(o,m,n))
pointer(iptr7,rpte1(n))
pointer(iptr8,rpte2(m,n))
pointer(iptr9,rpte3(o,m,n))
pointer(iptr10,chpte1(n))
pointer(iptr11,chpte2(m,n))
pointer(iptr12,chpte3(o,m,n))
pointer(iptr13,ch8pte1(n))
pointer(iptr14,ch8pte2(m,n))
pointer(iptr15,ch8pte3(o,m,n))
type(drvd) dpte1
type(drvd) dpte2
type(drvd) dpte3
integer ipte1
integer ipte2
integer ipte3
real rpte1
real rpte2
real rpte3
character chpte1
character chpte2
character chpte3
character*8 ch8pte1
character*8 ch8pte2
character*8 ch8pte3
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #77
errors(77) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #78
errors(78) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #79
errors(79) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #80
errors(80) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #81
errors(81) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #82
errors(82) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #83
errors(83) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #84
errors(84) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #85
errors(85) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #86
errors(86) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #87
errors(87) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #88
errors(88) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #89
errors(89) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #90
errors(90) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #91
errors(91) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #92
errors(92) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #93
errors(93) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #94
errors(94) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #95
errors(95) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #96
errors(96) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #97
errors(97) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #98
errors(98) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #99
errors(99) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #100
errors(100) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #101
errors(101) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #102
errors(102) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #103
errors(103) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #104
errors(104) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #105
errors(105) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #106
errors(106) = .true.
endif
end do
end do
end do
rtarg3 = .5
! Vector syntax
do, i=1,n
ipte3 = i
rpte3 = rpte3+1
do, j=1,m
do k=1,o
if (intne(itarg3(k,j,i), i)) then
! Error #107
errors(107) = .true.
endif
if (realne(rtarg3(k,j,i), i+.5)) then
! Error #108
errors(108) = .true.
endif
end do
end do
end do
end subroutine ptr3
subroutine ptr4
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
pointer(iptr1,dpte1),(iptr2,dpte2),(iptr3,dpte3)
pointer (iptr4,ipte1), (iptr5,ipte2) ,(iptr6,ipte3),(iptr7,rpte1)
pointer(iptr8,rpte2)
pointer(iptr9,rpte3),(iptr10,chpte1)
pointer(iptr11,chpte2),(iptr12,chpte3),(iptr13,ch8pte1)
pointer(iptr14,ch8pte2)
pointer(iptr15,ch8pte3)
type(drvd) dpte1(n)
type(drvd) dpte2(m,n)
type(drvd) dpte3(o,m,n)
integer ipte1 (n)
integer ipte2 (m,n)
integer ipte3 (o,m,n)
real rpte1(n)
real rpte2(m,n)
real rpte3(o,m,n)
character chpte1(n)
character chpte2(m,n)
character chpte3(o,m,n)
character*8 ch8pte1(n)
character*8 ch8pte2(m,n)
character*8 ch8pte3(o,m,n)
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #109
errors(109) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #110
errors(110) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #111
errors(111) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #112
errors(112) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #113
errors(113) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #114
errors(114) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #115
errors(115) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #116
errors(116) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #117
errors(117) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #118
errors(118) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #119
errors(119) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #120
errors(120) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #121
errors(121) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #122
errors(122) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #123
errors(123) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #124
errors(124) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #125
errors(125) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #126
errors(126) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #127
errors(127) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #128
errors(128) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #129
errors(129) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #130
errors(130) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #131
errors(131) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #132
errors(132) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #133
errors(133) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #134
errors(134) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #135
errors(135) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #136
errors(136) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #137
errors(137) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #138
errors(138) = .true.
endif
end do
end do
end do
rtarg3 = .5
! Vector syntax
do, i=1,n
ipte3 = i
rpte3 = rpte3+1
do, j=1,m
do k=1,o
if (intne(itarg3(k,j,i), i)) then
! Error #139
errors(139) = .true.
endif
if (realne(rtarg3(k,j,i), i+.5)) then
! Error #140
errors(140) = .true.
endif
end do
end do
end do
end subroutine ptr4
subroutine ptr5
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
type(drvd) dpte1(*)
type(drvd) dpte2(m,*)
type(drvd) dpte3(o,m,*)
integer ipte1 (*)
integer ipte2 (m,*)
integer ipte3 (o,m,*)
real rpte1(*)
real rpte2(m,*)
real rpte3(o,m,*)
character chpte1(*)
character chpte2(m,*)
character chpte3(o,m,*)
character*8 ch8pte1(*)
character*8 ch8pte2(m,*)
character*8 ch8pte3(o,m,*)
pointer(iptr1,dpte1)
pointer(iptr2,dpte2)
pointer(iptr3,dpte3)
pointer(iptr4,ipte1)
pointer(iptr5,ipte2)
pointer(iptr6,ipte3)
pointer(iptr7,rpte1)
pointer(iptr8,rpte2)
pointer(iptr9,rpte3)
pointer(iptr10,chpte1)
pointer(iptr11,chpte2)
pointer(iptr12,chpte3)
pointer(iptr13,ch8pte1)
pointer(iptr14,ch8pte2)
pointer(iptr15,ch8pte3)
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #141
errors(141) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #142
errors(142) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #143
errors(143) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #144
errors(144) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #145
errors(145) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #146
errors(146) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #147
errors(147) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #148
errors(148) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #149
errors(149) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #150
errors(150) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #151
errors(151) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #152
errors(152) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #153
errors(153) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #154
errors(154) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #155
errors(155) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #156
errors(156) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #157
errors(157) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #158
errors(158) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #159
errors(159) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #160
errors(160) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #161
errors(161) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #162
errors(162) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #163
errors(163) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #164
errors(164) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #165
errors(165) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #166
errors(166) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #167
errors(167) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #168
errors(168) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #169
errors(169) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #170
errors(170) = .true.
endif
end do
end do
end do
end subroutine ptr5
subroutine ptr6
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
type(drvd) dpte1
type(drvd) dpte2
type(drvd) dpte3
integer ipte1
integer ipte2
integer ipte3
real rpte1
real rpte2
real rpte3
character chpte1
character chpte2
character chpte3
character*8 ch8pte1
character*8 ch8pte2
character*8 ch8pte3
pointer(iptr1,dpte1(*))
pointer(iptr2,dpte2(m,*))
pointer(iptr3,dpte3(o,m,*))
pointer(iptr4,ipte1(*))
pointer(iptr5,ipte2 (m,*))
pointer(iptr6,ipte3(o,m,*))
pointer(iptr7,rpte1(*))
pointer(iptr8,rpte2(m,*))
pointer(iptr9,rpte3(o,m,*))
pointer(iptr10,chpte1(*))
pointer(iptr11,chpte2(m,*))
pointer(iptr12,chpte3(o,m,*))
pointer(iptr13,ch8pte1(*))
pointer(iptr14,ch8pte2(m,*))
pointer(iptr15,ch8pte3(o,m,*))
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #171
errors(171) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #172
errors(172) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #173
errors(173) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #174
errors(174) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #175
errors(175) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #176
errors(176) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #177
errors(177) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #178
errors(178) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #179
errors(179) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #180
errors(180) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #181
errors(181) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #182
errors(182) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #183
errors(183) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #184
errors(184) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #185
errors(185) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #186
errors(186) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #187
errors(187) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #188
errors(188) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #189
errors(189) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #190
errors(190) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #191
errors(191) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #192
errors(192) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #193
errors(193) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #194
errors(194) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #195
errors(195) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #196
errors(196) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #197
errors(197) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #198
errors(198) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #199
errors(199) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #200
errors(200) = .true.
endif
end do
end do
end do
end subroutine ptr6
subroutine ptr7
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
pointer(iptr1,dpte1(*))
pointer(iptr2,dpte2(m,*))
pointer(iptr3,dpte3(o,m,*))
pointer(iptr4,ipte1(*))
pointer(iptr5,ipte2 (m,*))
pointer(iptr6,ipte3(o,m,*))
pointer(iptr7,rpte1(*))
pointer(iptr8,rpte2(m,*))
pointer(iptr9,rpte3(o,m,*))
pointer(iptr10,chpte1(*))
pointer(iptr11,chpte2(m,*))
pointer(iptr12,chpte3(o,m,*))
pointer(iptr13,ch8pte1(*))
pointer(iptr14,ch8pte2(m,*))
pointer(iptr15,ch8pte3(o,m,*))
type(drvd) dpte1
type(drvd) dpte2
type(drvd) dpte3
integer ipte1
integer ipte2
integer ipte3
real rpte1
real rpte2
real rpte3
character chpte1
character chpte2
character chpte3
character*8 ch8pte1
character*8 ch8pte2
character*8 ch8pte3
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #201
errors(201) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #202
errors(202) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #203
errors(203) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #204
errors(204) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #205
errors(205) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #206
errors(206) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #207
errors(207) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #208
errors(208) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #209
errors(209) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #210
errors(210) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #211
errors(211) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #212
errors(212) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #213
errors(213) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #214
errors(214) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #215
errors(215) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #216
errors(216) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #217
errors(217) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #218
errors(218) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #219
errors(219) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #220
errors(220) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #221
errors(221) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #222
errors(222) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #223
errors(223) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #224
errors(224) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #225
errors(225) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #226
errors(226) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #227
errors(227) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #228
errors(228) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #229
errors(229) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #230
errors(230) = .true.
endif
end do
end do
end do
end subroutine ptr7
subroutine ptr8
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
pointer(iptr1,dpte1)
pointer(iptr2,dpte2)
pointer(iptr3,dpte3)
pointer(iptr4,ipte1)
pointer(iptr5,ipte2)
pointer(iptr6,ipte3)
pointer(iptr7,rpte1)
pointer(iptr8,rpte2)
pointer(iptr9,rpte3)
pointer(iptr10,chpte1)
pointer(iptr11,chpte2)
pointer(iptr12,chpte3)
pointer(iptr13,ch8pte1)
pointer(iptr14,ch8pte2)
pointer(iptr15,ch8pte3)
type(drvd) dpte1(*)
type(drvd) dpte2(m,*)
type(drvd) dpte3(o,m,*)
integer ipte1 (*)
integer ipte2 (m,*)
integer ipte3 (o,m,*)
real rpte1(*)
real rpte2(m,*)
real rpte3(o,m,*)
character chpte1(*)
character chpte2(m,*)
character chpte3(o,m,*)
character*8 ch8pte1(*)
character*8 ch8pte2(m,*)
character*8 ch8pte3(o,m,*)
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #231
errors(231) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #232
errors(232) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #233
errors(233) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #234
errors(234) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #235
errors(235) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #236
errors(236) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #237
errors(237) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #238
errors(238) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #239
errors(239) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #240
errors(240) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #241
errors(241) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #242
errors(242) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #243
errors(243) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #244
errors(244) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #245
errors(245) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #246
errors(246) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #247
errors(247) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #248
errors(248) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #249
errors(249) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #250
errors(250) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #251
errors(251) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #252
errors(252) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #253
errors(253) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #254
errors(254) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #255
errors(255) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #256
errors(256) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #257
errors(257) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #258
errors(258) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #259
errors(259) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #260
errors(260) = .true.
endif
end do
end do
end do
end subroutine ptr8
subroutine ptr9(nnn,mmm,ooo)
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer :: nnn,mmm,ooo
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
type(drvd) dpte1(nnn)
type(drvd) dpte2(mmm,nnn)
type(drvd) dpte3(ooo,mmm,nnn)
integer ipte1 (nnn)
integer ipte2 (mmm,nnn)
integer ipte3 (ooo,mmm,nnn)
real rpte1(nnn)
real rpte2(mmm,nnn)
real rpte3(ooo,mmm,nnn)
character chpte1(nnn)
character chpte2(mmm,nnn)
character chpte3(ooo,mmm,nnn)
character*8 ch8pte1(nnn)
character*8 ch8pte2(mmm,nnn)
character*8 ch8pte3(ooo,mmm,nnn)
pointer(iptr1,dpte1)
pointer(iptr2,dpte2)
pointer(iptr3,dpte3)
pointer(iptr4,ipte1)
pointer(iptr5,ipte2)
pointer(iptr6,ipte3)
pointer(iptr7,rpte1)
pointer(iptr8,rpte2)
pointer(iptr9,rpte3)
pointer(iptr10,chpte1)
pointer(iptr11,chpte2)
pointer(iptr12,chpte3)
pointer(iptr13,ch8pte1)
pointer(iptr14,ch8pte2)
pointer(iptr15,ch8pte3)
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #261
errors(261) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #262
errors(262) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #263
errors(263) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #264
errors(264) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #265
errors(265) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #266
errors(266) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #267
errors(267) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #268
errors(268) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #269
errors(269) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #270
errors(270) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #271
errors(271) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #272
errors(272) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #273
errors(273) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #274
errors(274) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #275
errors(275) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #276
errors(276) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #277
errors(277) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #278
errors(278) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #279
errors(279) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #280
errors(280) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #281
errors(281) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #282
errors(282) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #283
errors(283) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #284
errors(284) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #285
errors(285) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #286
errors(286) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #287
errors(287) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #288
errors(288) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #289
errors(289) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #290
errors(290) = .true.
endif
end do
end do
end do
rtarg3 = .5
! Vector syntax
do, i=1,n
ipte3 = i
rpte3 = rpte3+1
do, j=1,m
do k=1,o
if (intne(itarg3(k,j,i), i)) then
! Error #291
errors(291) = .true.
endif
if (realne(rtarg3(k,j,i), i+.5)) then
! Error #292
errors(292) = .true.
endif
end do
end do
end do
end subroutine ptr9
subroutine ptr10(nnn,mmm,ooo)
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer :: nnn,mmm,ooo
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
type(drvd) dpte1
type(drvd) dpte2
type(drvd) dpte3
integer ipte1
integer ipte2
integer ipte3
real rpte1
real rpte2
real rpte3
character chpte1
character chpte2
character chpte3
character*8 ch8pte1
character*8 ch8pte2
character*8 ch8pte3
pointer(iptr1,dpte1(nnn))
pointer(iptr2,dpte2(mmm,nnn))
pointer(iptr3,dpte3(ooo,mmm,nnn))
pointer(iptr4,ipte1(nnn))
pointer(iptr5,ipte2 (mmm,nnn))
pointer(iptr6,ipte3(ooo,mmm,nnn))
pointer(iptr7,rpte1(nnn))
pointer(iptr8,rpte2(mmm,nnn))
pointer(iptr9,rpte3(ooo,mmm,nnn))
pointer(iptr10,chpte1(nnn))
pointer(iptr11,chpte2(mmm,nnn))
pointer(iptr12,chpte3(ooo,mmm,nnn))
pointer(iptr13,ch8pte1(nnn))
pointer(iptr14,ch8pte2(mmm,nnn))
pointer(iptr15,ch8pte3(ooo,mmm,nnn))
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #293
errors(293) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #294
errors(294) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #295
errors(295) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #296
errors(296) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #297
errors(297) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #298
errors(298) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #299
errors(299) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #300
errors(300) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #301
errors(301) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #302
errors(302) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #303
errors(303) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #304
errors(304) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #305
errors(305) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #306
errors(306) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #307
errors(307) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #308
errors(308) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #309
errors(309) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #310
errors(310) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #311
errors(311) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #312
errors(312) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #313
errors(313) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #314
errors(314) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #315
errors(315) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #316
errors(316) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #317
errors(317) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #318
errors(318) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #319
errors(319) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #320
errors(320) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #321
errors(321) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #322
errors(322) = .true.
endif
end do
end do
end do
rtarg3 = .5
! Vector syntax
do, i=1,n
ipte3 = i
rpte3 = rpte3+1
do, j=1,m
do k=1,o
if (intne(itarg3(k,j,i), i)) then
! Error #323
errors(323) = .true.
endif
if (realne(rtarg3(k,j,i), i+.5)) then
! Error #324
errors(324) = .true.
endif
end do
end do
end do
end subroutine ptr10
subroutine ptr11(nnn,mmm,ooo)
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer :: nnn,mmm,ooo
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
pointer(iptr1,dpte1(nnn))
pointer(iptr2,dpte2(mmm,nnn))
pointer(iptr3,dpte3(ooo,mmm,nnn))
pointer(iptr4,ipte1(nnn))
pointer(iptr5,ipte2 (mmm,nnn))
pointer(iptr6,ipte3(ooo,mmm,nnn))
pointer(iptr7,rpte1(nnn))
pointer(iptr8,rpte2(mmm,nnn))
pointer(iptr9,rpte3(ooo,mmm,nnn))
pointer(iptr10,chpte1(nnn))
pointer(iptr11,chpte2(mmm,nnn))
pointer(iptr12,chpte3(ooo,mmm,nnn))
pointer(iptr13,ch8pte1(nnn))
pointer(iptr14,ch8pte2(mmm,nnn))
pointer(iptr15,ch8pte3(ooo,mmm,nnn))
type(drvd) dpte1
type(drvd) dpte2
type(drvd) dpte3
integer ipte1
integer ipte2
integer ipte3
real rpte1
real rpte2
real rpte3
character chpte1
character chpte2
character chpte3
character*8 ch8pte1
character*8 ch8pte2
character*8 ch8pte3
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #325
errors(325) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #326
errors(326) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #327
errors(327) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #328
errors(328) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #329
errors(329) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #330
errors(330) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #331
errors(331) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #332
errors(332) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #333
errors(333) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #334
errors(334) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #335
errors(335) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #336
errors(336) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #337
errors(337) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #338
errors(338) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #339
errors(339) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #340
errors(340) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #341
errors(341) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #342
errors(342) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #343
errors(343) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #344
errors(344) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #345
errors(345) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #346
errors(346) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #347
errors(347) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #348
errors(348) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #349
errors(349) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #350
errors(350) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #351
errors(351) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #352
errors(352) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #353
errors(353) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #354
errors(354) = .true.
endif
end do
end do
end do
rtarg3 = .5
! Vector syntax
do, i=1,n
ipte3 = i
rpte3 = rpte3+1
do, j=1,m
do k=1,o
if (intne(itarg3(k,j,i), i)) then
! Error #355
errors(355) = .true.
endif
if (realne(rtarg3(k,j,i), i+.5)) then
! Error #356
errors(356) = .true.
endif
end do
end do
end do
end subroutine ptr11
subroutine ptr12(nnn,mmm,ooo)
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: i,j,k
integer :: nnn,mmm,ooo
integer, parameter :: n = 9
integer, parameter :: m = 10
integer, parameter :: o = 11
integer itarg1 (n)
integer itarg2 (m,n)
integer itarg3 (o,m,n)
real rtarg1(n)
real rtarg2(m,n)
real rtarg3(o,m,n)
character chtarg1(n)
character chtarg2(m,n)
character chtarg3(o,m,n)
character*8 ch8targ1(n)
character*8 ch8targ2(m,n)
character*8 ch8targ3(o,m,n)
type drvd
real r1
integer i1
integer i2(5)
end type drvd
type(drvd) dtarg1(n)
type(drvd) dtarg2(m,n)
type(drvd) dtarg3(o,m,n)
pointer(iptr1,dpte1)
pointer(iptr2,dpte2)
pointer(iptr3,dpte3)
pointer(iptr4,ipte1)
pointer(iptr5,ipte2)
pointer(iptr6,ipte3)
pointer(iptr7,rpte1)
pointer(iptr8,rpte2)
pointer(iptr9,rpte3)
pointer(iptr10,chpte1)
pointer(iptr11,chpte2)
pointer(iptr12,chpte3)
pointer(iptr13,ch8pte1)
pointer(iptr14,ch8pte2)
pointer(iptr15,ch8pte3)
type(drvd) dpte1(nnn)
type(drvd) dpte2(mmm,nnn)
type(drvd) dpte3(ooo,mmm,nnn)
integer ipte1 (nnn)
integer ipte2 (mmm,nnn)
integer ipte3 (ooo,mmm,nnn)
real rpte1(nnn)
real rpte2(mmm,nnn)
real rpte3(ooo,mmm,nnn)
character chpte1(nnn)
character chpte2(mmm,nnn)
character chpte3(ooo,mmm,nnn)
character*8 ch8pte1(nnn)
character*8 ch8pte2(mmm,nnn)
character*8 ch8pte3(ooo,mmm,nnn)
iptr1 = loc(dtarg1)
iptr2 = loc(dtarg2)
iptr3 = loc(dtarg3)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr6 = loc(itarg3)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
iptr9 = loc(rtarg3)
iptr10= loc(chtarg1)
iptr11= loc(chtarg2)
iptr12= loc(chtarg3)
iptr13= loc(ch8targ1)
iptr14= loc(ch8targ2)
iptr15= loc(ch8targ3)
do, i=1,n
dpte1(i)%i1=i
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #357
errors(357) = .true.
endif
dtarg1(i)%i1=2*dpte1(i)%i1
if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
! Error #358
errors(358) = .true.
endif
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #359
errors(359) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #360
errors(360) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #361
errors(361) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #362
errors(362) = .true.
endif
chpte1(i) = 'a'
if (chne(chpte1(i), chtarg1(i))) then
! Error #363
errors(363) = .true.
endif
chtarg1(i) = 'z'
if (chne(chpte1(i), chtarg1(i))) then
! Error #364
errors(364) = .true.
endif
ch8pte1(i) = 'aaaaaaaa'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #365
errors(365) = .true.
endif
ch8targ1(i) = 'zzzzzzzz'
if (ch8ne(ch8pte1(i), ch8targ1(i))) then
! Error #366
errors(366) = .true.
endif
do, j=1,m
dpte2(j,i)%r1=1.0
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #367
errors(367) = .true.
endif
dtarg2(j,i)%r1=2*dpte2(j,i)%r1
if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
! Error #368
errors(368) = .true.
endif
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #369
errors(369) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #370
errors(370) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #371
errors(371) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #372
errors(372) = .true.
endif
chpte2(j,i) = 'a'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #373
errors(373) = .true.
endif
chtarg2(j,i) = 'z'
if (chne(chpte2(j,i), chtarg2(j,i))) then
! Error #374
errors(374) = .true.
endif
ch8pte2(j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #375
errors(375) = .true.
endif
ch8targ2(j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
! Error #376
errors(376) = .true.
endif
do k=1,o
dpte3(k,j,i)%i2(1+mod(i,5))=i
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #377
errors(377) = .true.
endif
dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
dtarg3(k,j,i)%i2(1+mod(i,5)))) then
! Error #378
errors(378) = .true.
endif
ipte3(k,j,i) = i
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #379
errors(379) = .true.
endif
itarg3(k,j,i) = -ipte3(k,j,i)
if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
! Error #380
errors(380) = .true.
endif
rpte3(k,j,i) = i * 2.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #381
errors(381) = .true.
endif
rtarg3(k,j,i) = i * 3.0
if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
! Error #382
errors(382) = .true.
endif
chpte3(k,j,i) = 'a'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #383
errors(383) = .true.
endif
chtarg3(k,j,i) = 'z'
if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
! Error #384
errors(384) = .true.
endif
ch8pte3(k,j,i) = 'aaaaaaaa'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #385
errors(385) = .true.
endif
ch8targ3(k,j,i) = 'zzzzzzzz'
if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
! Error #386
errors(386) = .true.
endif
end do
end do
end do
rtarg3 = .5
! Vector syntax
do, i=1,n
ipte3 = i
rpte3 = rpte3+1
do, j=1,m
do k=1,o
if (intne(itarg3(k,j,i), i)) then
! Error #387
errors(387) = .true.
endif
if (realne(rtarg3(k,j,i), i+.5)) then
! Error #388
errors(388) = .true.
endif
end do
end do
end do
end subroutine ptr12
! Misc
subroutine ptr13(nnn,mmm)
common /errors/errors(400)
logical :: errors, intne, realne, chne, ch8ne
integer :: nnn,mmm
integer :: i,j
integer, parameter :: n = 9
integer, parameter :: m = 10
integer itarg1 (n)
integer itarg2 (m,n)
real rtarg1(n)
real rtarg2(m,n)
integer ipte1
integer ipte2
real rpte1
real rpte2
dimension ipte1(n)
dimension rpte2(mmm,nnn)
pointer(iptr4,ipte1)
pointer(iptr5,ipte2)
pointer(iptr7,rpte1)
pointer(iptr8,rpte2)
dimension ipte2(mmm,nnn)
dimension rpte1(n)
iptr4 = loc(itarg1)
iptr5 = loc(itarg2)
iptr7 = loc(rtarg1)
iptr8 = loc(rtarg2)
do, i=1,n
ipte1(i) = i
if (intne(ipte1(i), itarg1(i))) then
! Error #389
errors(389) = .true.
endif
itarg1(i) = -ipte1(i)
if (intne(ipte1(i), itarg1(i))) then
! Error #390
errors(390) = .true.
endif
rpte1(i) = i * 5.0
if (realne(rpte1(i), rtarg1(i))) then
! Error #391
errors(391) = .true.
endif
rtarg1(i) = i * (-5.0)
if (realne(rpte1(i), rtarg1(i))) then
! Error #392
errors(392) = .true.
endif
do, j=1,m
ipte2(j,i) = i
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #393
errors(393) = .true.
endif
itarg2(j,i) = -ipte2(j,i)
if (intne(ipte2(j,i), itarg2(j,i))) then
! Error #394
errors(394) = .true.
endif
rpte2(j,i) = i * (-2.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #395
errors(395) = .true.
endif
rtarg2(j,i) = i * (-3.0)
if (realne(rpte2(j,i), rtarg2(j,i))) then
! Error #396
errors(396) = .true.
endif
end do
end do
end subroutine ptr13
! Test the passing of pointers and pointees as parameters
subroutine parmtest
integer, parameter :: n = 12
integer, parameter :: m = 13
integer iarray(m,n)
pointer (ipt,iptee)
integer iptee (m,n)
ipt = loc(iarray)
! write(*,*) "loc(iarray)",loc(iarray)
call parmptr(ipt,iarray,n,m)
! write(*,*) "loc(iptee)",loc(iptee)
call parmpte(iptee,iarray,n,m)
end subroutine parmtest
subroutine parmptr(ipointer,intarr,n,m)
common /errors/errors(400)
logical :: errors, intne
integer :: n,m,i,j
integer intarr(m,n)
pointer (ipointer,newpte)
integer newpte(m,n)
! write(*,*) "loc(newpte)",loc(newpte)
! write(*,*) "loc(intarr)",loc(intarr)
! write(*,*) "loc(newpte(1,1))",loc(newpte(1,1))
! newpte(1,1) = 101
! write(*,*) "newpte(1,1)=",newpte(1,1)
! write(*,*) "intarr(1,1)=",intarr(1,1)
do, i=1,n
do, j=1,m
newpte(j,i) = i
if (intne(newpte(j,i),intarr(j,i))) then
! Error #397
errors(397) = .true.
endif
call donothing(newpte(j,i),intarr(j,i))
intarr(j,i) = -newpte(j,i)
if (intne(newpte(j,i),intarr(j,i))) then
! Error #398
errors(398) = .true.
endif
end do
end do
end subroutine parmptr
subroutine parmpte(pointee,intarr,n,m)
common /errors/errors(400)
logical :: errors, intne
integer :: n,m,i,j
integer pointee (m,n)
integer intarr (m,n)
! write(*,*) "loc(pointee)",loc(pointee)
! write(*,*) "loc(intarr)",loc(intarr)
! write(*,*) "loc(pointee(1,1))",loc(pointee(1,1))
! pointee(1,1) = 99
! write(*,*) "pointee(1,1)=",pointee(1,1)
! write(*,*) "intarr(1,1)=",intarr(1,1)
do, i=1,n
do, j=1,m
pointee(j,i) = i
if (intne(pointee(j,i),intarr(j,i))) then
! Error #399
errors(399) = .true.
endif
intarr(j,i) = 2*pointee(j,i)
call donothing(pointee(j,i),intarr(j,i))
if (intne(pointee(j,i),intarr(j,i))) then
! Error #400
errors(400) = .true.
endif
end do
end do
end subroutine parmpte
! Separate function calls to break Cray pointer-indifferent optimization
logical function intne(ii,jj)
integer :: i,j
common /foo/foo
integer foo
foo = foo + 1
intne = ii.ne.jj
if (intne) then
write (*,*) ii," doesn't equal ",jj
endif
end function intne
logical function realne(r1,r2)
real :: r1, r2
common /foo/foo
integer foo
foo = foo + 1
realne = r1.ne.r2
if (realne) then
write (*,*) r1," doesn't equal ",r2
endif
end function realne
logical function chne(ch1,ch2)
character :: ch1, ch2
common /foo/foo
integer foo
foo = foo + 1
chne = ch1.ne.ch2
if (chne) then
write (*,*) ch1," doesn't equal ",ch2
endif
end function chne
logical function ch8ne(ch1,ch2)
character*8 :: ch1, ch2
common /foo/foo
integer foo
foo = foo + 1
ch8ne = ch1.ne.ch2
if (ch8ne) then
write (*,*) ch1," doesn't equal ",ch2
endif
end function ch8ne
subroutine donothing(ii,jj)
common/foo/foo
integer :: ii,jj,foo
if (foo.le.1) then
foo = 1
else
foo = foo - 1
endif
if (foo.eq.0) then
ii = -1
jj = 1
! print *,"Test did not run correctly"
STOP 3
endif
end subroutine donothing