2 ! { dg-options "-fcray-pointer -fbounds-check -fno-inline" }
3 ! { dg-timeout-factor 4 }
5 ! Series of routines for testing a Cray pointer implementation
7 ! Note: Some of the test cases violate Fortran's alias rules;
8 ! the "-fno-inline option" for now prevents failures.
11 common /errors/errors(400)
12 common /foo/foo ! To prevent optimizations
32 ! NOTE: Tests 1 through 12 were removed from this file
33 ! and placed in loc_1.f90, so we start at 13
36 ! print *,"Test",i,"failed."
41 ! print *,"Test did not run correctly."
46 ! ptr1 through ptr13 that Cray pointees are correctly used with
47 ! a variety of declaration styles
49 common /errors/errors(400)
50 logical :: errors, intne, realne, chne, ch8ne
52 integer, parameter :: n = 9
53 integer, parameter :: m = 10
54 integer, parameter :: o = 11
57 integer itarg3 (o,m,n)
62 character chtarg2(m,n)
63 character chtarg3(o,m,n)
64 character*8 ch8targ1(n)
65 character*8 ch8targ2(m,n)
66 character*8 ch8targ3(o,m,n)
73 type(drvd) dtarg2(m,n)
74 type(drvd) dtarg3(o,m,n)
78 type(drvd) dpte3(o,m,n)
87 character chpte3(o,m,n)
88 character*8 ch8pte1(n)
89 character*8 ch8pte2(m,n)
90 character*8 ch8pte3(o,m,n)
101 pointer(iptr10,chpte1)
102 pointer(iptr11,chpte2)
103 pointer(iptr12,chpte3)
104 pointer(iptr13,ch8pte1)
105 pointer(iptr14,ch8pte2)
106 pointer(iptr15,ch8pte3)
120 iptr13= loc(ch8targ1)
121 iptr14= loc(ch8targ2)
122 iptr15= loc(ch8targ3)
127 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
132 dtarg1(i)%i1=2*dpte1(i)%i1
133 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
139 if (intne(ipte1(i), itarg1(i))) then
144 itarg1(i) = -ipte1(i)
145 if (intne(ipte1(i), itarg1(i))) then
151 if (realne(rpte1(i), rtarg1(i))) then
156 rtarg1(i) = i * (-5.0)
157 if (realne(rpte1(i), rtarg1(i))) then
163 if (chne(chpte1(i), chtarg1(i))) then
169 if (chne(chpte1(i), chtarg1(i))) then
174 ch8pte1(i) = 'aaaaaaaa'
175 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
180 ch8targ1(i) = 'zzzzzzzz'
181 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
188 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
193 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
194 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
200 if (intne(ipte2(j,i), itarg2(j,i))) then
205 itarg2(j,i) = -ipte2(j,i)
206 if (intne(ipte2(j,i), itarg2(j,i))) then
211 rpte2(j,i) = i * (-2.0)
212 if (realne(rpte2(j,i), rtarg2(j,i))) then
217 rtarg2(j,i) = i * (-3.0)
218 if (realne(rpte2(j,i), rtarg2(j,i))) then
224 if (chne(chpte2(j,i), chtarg2(j,i))) then
230 if (chne(chpte2(j,i), chtarg2(j,i))) then
235 ch8pte2(j,i) = 'aaaaaaaa'
236 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
241 ch8targ2(j,i) = 'zzzzzzzz'
242 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
247 dpte3(k,j,i)%i2(1+mod(i,5))=i
248 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
249 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
254 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
255 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
256 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
262 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
267 itarg3(k,j,i) = -ipte3(k,j,i)
268 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
273 rpte3(k,j,i) = i * 2.0
274 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
279 rtarg3(k,j,i) = i * 3.0
280 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
286 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
292 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
297 ch8pte3(k,j,i) = 'aaaaaaaa'
298 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
303 ch8targ3(k,j,i) = 'zzzzzzzz'
304 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
319 if (intne(itarg3(k,j,i), i)) then
324 if (realne(rtarg3(k,j,i), i+.5)) then
336 common /errors/errors(400)
337 logical :: errors, intne, realne, chne, ch8ne
339 integer, parameter :: n = 9
340 integer, parameter :: m = 10
341 integer, parameter :: o = 11
344 integer itarg3 (o,m,n)
349 character chtarg2(m,n)
350 character chtarg3(o,m,n)
351 character*8 ch8targ1(n)
352 character*8 ch8targ2(m,n)
353 character*8 ch8targ3(o,m,n)
360 type(drvd) dtarg2(m,n)
361 type(drvd) dtarg3(o,m,n)
379 pointer(iptr1,dpte1(n))
380 pointer(iptr2,dpte2(m,n))
381 pointer(iptr3,dpte3(o,m,n))
382 pointer(iptr4,ipte1(n))
383 pointer(iptr5,ipte2 (m,n))
384 pointer(iptr6,ipte3(o,m,n))
385 pointer(iptr7,rpte1(n))
386 pointer(iptr8,rpte2(m,n))
387 pointer(iptr9,rpte3(o,m,n))
388 pointer(iptr10,chpte1(n))
389 pointer(iptr11,chpte2(m,n))
390 pointer(iptr12,chpte3(o,m,n))
391 pointer(iptr13,ch8pte1(n))
392 pointer(iptr14,ch8pte2(m,n))
393 pointer(iptr15,ch8pte3(o,m,n))
407 iptr13= loc(ch8targ1)
408 iptr14= loc(ch8targ2)
409 iptr15= loc(ch8targ3)
413 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
418 dtarg1(i)%i1=2*dpte1(i)%i1
419 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
425 if (intne(ipte1(i), itarg1(i))) then
430 itarg1(i) = -ipte1(i)
431 if (intne(ipte1(i), itarg1(i))) then
437 if (realne(rpte1(i), rtarg1(i))) then
442 rtarg1(i) = i * (-5.0)
443 if (realne(rpte1(i), rtarg1(i))) then
449 if (chne(chpte1(i), chtarg1(i))) then
455 if (chne(chpte1(i), chtarg1(i))) then
460 ch8pte1(i) = 'aaaaaaaa'
461 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
466 ch8targ1(i) = 'zzzzzzzz'
467 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
474 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
479 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
480 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
486 if (intne(ipte2(j,i), itarg2(j,i))) then
491 itarg2(j,i) = -ipte2(j,i)
492 if (intne(ipte2(j,i), itarg2(j,i))) then
497 rpte2(j,i) = i * (-2.0)
498 if (realne(rpte2(j,i), rtarg2(j,i))) then
503 rtarg2(j,i) = i * (-3.0)
504 if (realne(rpte2(j,i), rtarg2(j,i))) then
510 if (chne(chpte2(j,i), chtarg2(j,i))) then
516 if (chne(chpte2(j,i), chtarg2(j,i))) then
521 ch8pte2(j,i) = 'aaaaaaaa'
522 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
527 ch8targ2(j,i) = 'zzzzzzzz'
528 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
533 dpte3(k,j,i)%i2(1+mod(i,5))=i
534 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), dtarg3(k,j,i)%i2(1+mod(i,5)))) then
539 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
540 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), dtarg3(k,j,i)%i2(1+mod(i,5)))) then
546 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
551 itarg3(k,j,i) = -ipte3(k,j,i)
552 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
557 rpte3(k,j,i) = i * 2.0
558 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
563 rtarg3(k,j,i) = i * 3.0
564 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
570 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
576 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
581 ch8pte3(k,j,i) = 'aaaaaaaa'
582 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
587 ch8targ3(k,j,i) = 'zzzzzzzz'
588 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
603 if (intne(itarg3(k,j,i), i)) then
608 if (realne(rtarg3(k,j,i), i+.5)) then
618 common /errors/errors(400)
619 logical :: errors, intne, realne, chne, ch8ne
621 integer, parameter :: n = 9
622 integer, parameter :: m = 10
623 integer, parameter :: o = 11
626 integer itarg3 (o,m,n)
631 character chtarg2(m,n)
632 character chtarg3(o,m,n)
633 character*8 ch8targ1(n)
634 character*8 ch8targ2(m,n)
635 character*8 ch8targ3(o,m,n)
642 type(drvd) dtarg2(m,n)
643 type(drvd) dtarg3(o,m,n)
645 pointer(iptr1,dpte1(n))
646 pointer(iptr2,dpte2(m,n))
647 pointer(iptr3,dpte3(o,m,n))
648 pointer(iptr4,ipte1(n))
649 pointer(iptr5,ipte2 (m,n))
650 pointer(iptr6,ipte3(o,m,n))
651 pointer(iptr7,rpte1(n))
652 pointer(iptr8,rpte2(m,n))
653 pointer(iptr9,rpte3(o,m,n))
654 pointer(iptr10,chpte1(n))
655 pointer(iptr11,chpte2(m,n))
656 pointer(iptr12,chpte3(o,m,n))
657 pointer(iptr13,ch8pte1(n))
658 pointer(iptr14,ch8pte2(m,n))
659 pointer(iptr15,ch8pte3(o,m,n))
689 iptr13= loc(ch8targ1)
690 iptr14= loc(ch8targ2)
691 iptr15= loc(ch8targ3)
695 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
700 dtarg1(i)%i1=2*dpte1(i)%i1
701 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
707 if (intne(ipte1(i), itarg1(i))) then
712 itarg1(i) = -ipte1(i)
713 if (intne(ipte1(i), itarg1(i))) then
719 if (realne(rpte1(i), rtarg1(i))) then
724 rtarg1(i) = i * (-5.0)
725 if (realne(rpte1(i), rtarg1(i))) then
731 if (chne(chpte1(i), chtarg1(i))) then
737 if (chne(chpte1(i), chtarg1(i))) then
742 ch8pte1(i) = 'aaaaaaaa'
743 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
748 ch8targ1(i) = 'zzzzzzzz'
749 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
756 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
761 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
762 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
768 if (intne(ipte2(j,i), itarg2(j,i))) then
773 itarg2(j,i) = -ipte2(j,i)
774 if (intne(ipte2(j,i), itarg2(j,i))) then
779 rpte2(j,i) = i * (-2.0)
780 if (realne(rpte2(j,i), rtarg2(j,i))) then
785 rtarg2(j,i) = i * (-3.0)
786 if (realne(rpte2(j,i), rtarg2(j,i))) then
792 if (chne(chpte2(j,i), chtarg2(j,i))) then
798 if (chne(chpte2(j,i), chtarg2(j,i))) then
803 ch8pte2(j,i) = 'aaaaaaaa'
804 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
809 ch8targ2(j,i) = 'zzzzzzzz'
810 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
815 dpte3(k,j,i)%i2(1+mod(i,5))=i
816 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
817 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
822 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
823 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
824 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
830 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
835 itarg3(k,j,i) = -ipte3(k,j,i)
836 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
841 rpte3(k,j,i) = i * 2.0
842 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
847 rtarg3(k,j,i) = i * 3.0
848 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
854 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
860 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
865 ch8pte3(k,j,i) = 'aaaaaaaa'
866 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
871 ch8targ3(k,j,i) = 'zzzzzzzz'
872 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
887 if (intne(itarg3(k,j,i), i)) then
892 if (realne(rtarg3(k,j,i), i+.5)) then
902 common /errors/errors(400)
903 logical :: errors, intne, realne, chne, ch8ne
905 integer, parameter :: n = 9
906 integer, parameter :: m = 10
907 integer, parameter :: o = 11
910 integer itarg3 (o,m,n)
915 character chtarg2(m,n)
916 character chtarg3(o,m,n)
917 character*8 ch8targ1(n)
918 character*8 ch8targ2(m,n)
919 character*8 ch8targ3(o,m,n)
926 type(drvd) dtarg2(m,n)
927 type(drvd) dtarg3(o,m,n)
929 pointer(iptr1,dpte1),(iptr2,dpte2),(iptr3,dpte3)
930 pointer (iptr4,ipte1), (iptr5,ipte2) ,(iptr6,ipte3),(iptr7,rpte1)
932 pointer(iptr9,rpte3),(iptr10,chpte1)
933 pointer(iptr11,chpte2),(iptr12,chpte3),(iptr13,ch8pte1)
934 pointer(iptr14,ch8pte2)
935 pointer(iptr15,ch8pte3)
938 type(drvd) dpte2(m,n)
939 type(drvd) dpte3(o,m,n)
942 integer ipte3 (o,m,n)
947 character chpte2(m,n)
948 character chpte3(o,m,n)
949 character*8 ch8pte1(n)
950 character*8 ch8pte2(m,n)
951 character*8 ch8pte3(o,m,n)
965 iptr13= loc(ch8targ1)
966 iptr14= loc(ch8targ2)
967 iptr15= loc(ch8targ3)
972 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
977 dtarg1(i)%i1=2*dpte1(i)%i1
978 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
984 if (intne(ipte1(i), itarg1(i))) then
989 itarg1(i) = -ipte1(i)
990 if (intne(ipte1(i), itarg1(i))) then
996 if (realne(rpte1(i), rtarg1(i))) then
1001 rtarg1(i) = i * (-5.0)
1002 if (realne(rpte1(i), rtarg1(i))) then
1004 errors(114) = .true.
1008 if (chne(chpte1(i), chtarg1(i))) then
1010 errors(115) = .true.
1014 if (chne(chpte1(i), chtarg1(i))) then
1016 errors(116) = .true.
1019 ch8pte1(i) = 'aaaaaaaa'
1020 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1022 errors(117) = .true.
1025 ch8targ1(i) = 'zzzzzzzz'
1026 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1028 errors(118) = .true.
1033 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1035 errors(119) = .true.
1038 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
1039 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1041 errors(120) = .true.
1045 if (intne(ipte2(j,i), itarg2(j,i))) then
1047 errors(121) = .true.
1050 itarg2(j,i) = -ipte2(j,i)
1051 if (intne(ipte2(j,i), itarg2(j,i))) then
1053 errors(122) = .true.
1056 rpte2(j,i) = i * (-2.0)
1057 if (realne(rpte2(j,i), rtarg2(j,i))) then
1059 errors(123) = .true.
1062 rtarg2(j,i) = i * (-3.0)
1063 if (realne(rpte2(j,i), rtarg2(j,i))) then
1065 errors(124) = .true.
1069 if (chne(chpte2(j,i), chtarg2(j,i))) then
1071 errors(125) = .true.
1075 if (chne(chpte2(j,i), chtarg2(j,i))) then
1077 errors(126) = .true.
1080 ch8pte2(j,i) = 'aaaaaaaa'
1081 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1083 errors(127) = .true.
1086 ch8targ2(j,i) = 'zzzzzzzz'
1087 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1089 errors(128) = .true.
1092 dpte3(k,j,i)%i2(1+mod(i,5))=i
1093 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1094 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1096 errors(129) = .true.
1099 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
1100 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1101 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1103 errors(130) = .true.
1107 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1109 errors(131) = .true.
1112 itarg3(k,j,i) = -ipte3(k,j,i)
1113 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1115 errors(132) = .true.
1118 rpte3(k,j,i) = i * 2.0
1119 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1121 errors(133) = .true.
1124 rtarg3(k,j,i) = i * 3.0
1125 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1127 errors(134) = .true.
1131 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1133 errors(135) = .true.
1136 chtarg3(k,j,i) = 'z'
1137 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1139 errors(136) = .true.
1142 ch8pte3(k,j,i) = 'aaaaaaaa'
1143 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1145 errors(137) = .true.
1148 ch8targ3(k,j,i) = 'zzzzzzzz'
1149 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1151 errors(138) = .true.
1164 if (intne(itarg3(k,j,i), i)) then
1166 errors(139) = .true.
1169 if (realne(rtarg3(k,j,i), i+.5)) then
1171 errors(140) = .true.
1180 common /errors/errors(400)
1181 logical :: errors, intne, realne, chne, ch8ne
1183 integer, parameter :: n = 9
1184 integer, parameter :: m = 10
1185 integer, parameter :: o = 11
1187 integer itarg2 (m,n)
1188 integer itarg3 (o,m,n)
1192 character chtarg1(n)
1193 character chtarg2(m,n)
1194 character chtarg3(o,m,n)
1195 character*8 ch8targ1(n)
1196 character*8 ch8targ2(m,n)
1197 character*8 ch8targ3(o,m,n)
1203 type(drvd) dtarg1(n)
1204 type(drvd) dtarg2(m,n)
1205 type(drvd) dtarg3(o,m,n)
1208 type(drvd) dpte2(m,*)
1209 type(drvd) dpte3(o,m,*)
1212 integer ipte3 (o,m,*)
1217 character chpte2(m,*)
1218 character chpte3(o,m,*)
1219 character*8 ch8pte1(*)
1220 character*8 ch8pte2(m,*)
1221 character*8 ch8pte3(o,m,*)
1223 pointer(iptr1,dpte1)
1224 pointer(iptr2,dpte2)
1225 pointer(iptr3,dpte3)
1226 pointer(iptr4,ipte1)
1227 pointer(iptr5,ipte2)
1228 pointer(iptr6,ipte3)
1229 pointer(iptr7,rpte1)
1230 pointer(iptr8,rpte2)
1231 pointer(iptr9,rpte3)
1232 pointer(iptr10,chpte1)
1233 pointer(iptr11,chpte2)
1234 pointer(iptr12,chpte3)
1235 pointer(iptr13,ch8pte1)
1236 pointer(iptr14,ch8pte2)
1237 pointer(iptr15,ch8pte3)
1248 iptr10= loc(chtarg1)
1249 iptr11= loc(chtarg2)
1250 iptr12= loc(chtarg3)
1251 iptr13= loc(ch8targ1)
1252 iptr14= loc(ch8targ2)
1253 iptr15= loc(ch8targ3)
1258 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1260 errors(141) = .true.
1263 dtarg1(i)%i1=2*dpte1(i)%i1
1264 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1266 errors(142) = .true.
1270 if (intne(ipte1(i), itarg1(i))) then
1272 errors(143) = .true.
1275 itarg1(i) = -ipte1(i)
1276 if (intne(ipte1(i), itarg1(i))) then
1278 errors(144) = .true.
1282 if (realne(rpte1(i), rtarg1(i))) then
1284 errors(145) = .true.
1287 rtarg1(i) = i * (-5.0)
1288 if (realne(rpte1(i), rtarg1(i))) then
1290 errors(146) = .true.
1294 if (chne(chpte1(i), chtarg1(i))) then
1296 errors(147) = .true.
1300 if (chne(chpte1(i), chtarg1(i))) then
1302 errors(148) = .true.
1305 ch8pte1(i) = 'aaaaaaaa'
1306 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1308 errors(149) = .true.
1311 ch8targ1(i) = 'zzzzzzzz'
1312 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1314 errors(150) = .true.
1319 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1321 errors(151) = .true.
1324 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
1325 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1327 errors(152) = .true.
1331 if (intne(ipte2(j,i), itarg2(j,i))) then
1333 errors(153) = .true.
1336 itarg2(j,i) = -ipte2(j,i)
1337 if (intne(ipte2(j,i), itarg2(j,i))) then
1339 errors(154) = .true.
1342 rpte2(j,i) = i * (-2.0)
1343 if (realne(rpte2(j,i), rtarg2(j,i))) then
1345 errors(155) = .true.
1348 rtarg2(j,i) = i * (-3.0)
1349 if (realne(rpte2(j,i), rtarg2(j,i))) then
1351 errors(156) = .true.
1355 if (chne(chpte2(j,i), chtarg2(j,i))) then
1357 errors(157) = .true.
1361 if (chne(chpte2(j,i), chtarg2(j,i))) then
1363 errors(158) = .true.
1366 ch8pte2(j,i) = 'aaaaaaaa'
1367 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1369 errors(159) = .true.
1372 ch8targ2(j,i) = 'zzzzzzzz'
1373 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1375 errors(160) = .true.
1378 dpte3(k,j,i)%i2(1+mod(i,5))=i
1379 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1380 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1382 errors(161) = .true.
1385 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
1386 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1387 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1389 errors(162) = .true.
1393 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1395 errors(163) = .true.
1398 itarg3(k,j,i) = -ipte3(k,j,i)
1399 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1401 errors(164) = .true.
1404 rpte3(k,j,i) = i * 2.0
1405 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1407 errors(165) = .true.
1410 rtarg3(k,j,i) = i * 3.0
1411 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1413 errors(166) = .true.
1417 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1419 errors(167) = .true.
1422 chtarg3(k,j,i) = 'z'
1423 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1425 errors(168) = .true.
1428 ch8pte3(k,j,i) = 'aaaaaaaa'
1429 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1431 errors(169) = .true.
1434 ch8targ3(k,j,i) = 'zzzzzzzz'
1435 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1437 errors(170) = .true.
1447 common /errors/errors(400)
1448 logical :: errors, intne, realne, chne, ch8ne
1450 integer, parameter :: n = 9
1451 integer, parameter :: m = 10
1452 integer, parameter :: o = 11
1454 integer itarg2 (m,n)
1455 integer itarg3 (o,m,n)
1459 character chtarg1(n)
1460 character chtarg2(m,n)
1461 character chtarg3(o,m,n)
1462 character*8 ch8targ1(n)
1463 character*8 ch8targ2(m,n)
1464 character*8 ch8targ3(o,m,n)
1470 type(drvd) dtarg1(n)
1471 type(drvd) dtarg2(m,n)
1472 type(drvd) dtarg3(o,m,n)
1490 pointer(iptr1,dpte1(*))
1491 pointer(iptr2,dpte2(m,*))
1492 pointer(iptr3,dpte3(o,m,*))
1493 pointer(iptr4,ipte1(*))
1494 pointer(iptr5,ipte2 (m,*))
1495 pointer(iptr6,ipte3(o,m,*))
1496 pointer(iptr7,rpte1(*))
1497 pointer(iptr8,rpte2(m,*))
1498 pointer(iptr9,rpte3(o,m,*))
1499 pointer(iptr10,chpte1(*))
1500 pointer(iptr11,chpte2(m,*))
1501 pointer(iptr12,chpte3(o,m,*))
1502 pointer(iptr13,ch8pte1(*))
1503 pointer(iptr14,ch8pte2(m,*))
1504 pointer(iptr15,ch8pte3(o,m,*))
1515 iptr10= loc(chtarg1)
1516 iptr11= loc(chtarg2)
1517 iptr12= loc(chtarg3)
1518 iptr13= loc(ch8targ1)
1519 iptr14= loc(ch8targ2)
1520 iptr15= loc(ch8targ3)
1524 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1526 errors(171) = .true.
1529 dtarg1(i)%i1=2*dpte1(i)%i1
1530 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1532 errors(172) = .true.
1536 if (intne(ipte1(i), itarg1(i))) then
1538 errors(173) = .true.
1541 itarg1(i) = -ipte1(i)
1542 if (intne(ipte1(i), itarg1(i))) then
1544 errors(174) = .true.
1548 if (realne(rpte1(i), rtarg1(i))) then
1550 errors(175) = .true.
1553 rtarg1(i) = i * (-5.0)
1554 if (realne(rpte1(i), rtarg1(i))) then
1556 errors(176) = .true.
1560 if (chne(chpte1(i), chtarg1(i))) then
1562 errors(177) = .true.
1566 if (chne(chpte1(i), chtarg1(i))) then
1568 errors(178) = .true.
1571 ch8pte1(i) = 'aaaaaaaa'
1572 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1574 errors(179) = .true.
1577 ch8targ1(i) = 'zzzzzzzz'
1578 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1580 errors(180) = .true.
1585 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1587 errors(181) = .true.
1590 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
1591 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1593 errors(182) = .true.
1597 if (intne(ipte2(j,i), itarg2(j,i))) then
1599 errors(183) = .true.
1602 itarg2(j,i) = -ipte2(j,i)
1603 if (intne(ipte2(j,i), itarg2(j,i))) then
1605 errors(184) = .true.
1608 rpte2(j,i) = i * (-2.0)
1609 if (realne(rpte2(j,i), rtarg2(j,i))) then
1611 errors(185) = .true.
1614 rtarg2(j,i) = i * (-3.0)
1615 if (realne(rpte2(j,i), rtarg2(j,i))) then
1617 errors(186) = .true.
1621 if (chne(chpte2(j,i), chtarg2(j,i))) then
1623 errors(187) = .true.
1627 if (chne(chpte2(j,i), chtarg2(j,i))) then
1629 errors(188) = .true.
1632 ch8pte2(j,i) = 'aaaaaaaa'
1633 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1635 errors(189) = .true.
1638 ch8targ2(j,i) = 'zzzzzzzz'
1639 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1641 errors(190) = .true.
1644 dpte3(k,j,i)%i2(1+mod(i,5))=i
1645 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1646 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1648 errors(191) = .true.
1651 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
1652 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1653 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1655 errors(192) = .true.
1659 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1661 errors(193) = .true.
1664 itarg3(k,j,i) = -ipte3(k,j,i)
1665 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1667 errors(194) = .true.
1670 rpte3(k,j,i) = i * 2.0
1671 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1673 errors(195) = .true.
1676 rtarg3(k,j,i) = i * 3.0
1677 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1679 errors(196) = .true.
1683 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1685 errors(197) = .true.
1688 chtarg3(k,j,i) = 'z'
1689 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1691 errors(198) = .true.
1694 ch8pte3(k,j,i) = 'aaaaaaaa'
1695 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1697 errors(199) = .true.
1700 ch8targ3(k,j,i) = 'zzzzzzzz'
1701 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1703 errors(200) = .true.
1712 common /errors/errors(400)
1713 logical :: errors, intne, realne, chne, ch8ne
1715 integer, parameter :: n = 9
1716 integer, parameter :: m = 10
1717 integer, parameter :: o = 11
1719 integer itarg2 (m,n)
1720 integer itarg3 (o,m,n)
1724 character chtarg1(n)
1725 character chtarg2(m,n)
1726 character chtarg3(o,m,n)
1727 character*8 ch8targ1(n)
1728 character*8 ch8targ2(m,n)
1729 character*8 ch8targ3(o,m,n)
1735 type(drvd) dtarg1(n)
1736 type(drvd) dtarg2(m,n)
1737 type(drvd) dtarg3(o,m,n)
1739 pointer(iptr1,dpte1(*))
1740 pointer(iptr2,dpte2(m,*))
1741 pointer(iptr3,dpte3(o,m,*))
1742 pointer(iptr4,ipte1(*))
1743 pointer(iptr5,ipte2 (m,*))
1744 pointer(iptr6,ipte3(o,m,*))
1745 pointer(iptr7,rpte1(*))
1746 pointer(iptr8,rpte2(m,*))
1747 pointer(iptr9,rpte3(o,m,*))
1748 pointer(iptr10,chpte1(*))
1749 pointer(iptr11,chpte2(m,*))
1750 pointer(iptr12,chpte3(o,m,*))
1751 pointer(iptr13,ch8pte1(*))
1752 pointer(iptr14,ch8pte2(m,*))
1753 pointer(iptr15,ch8pte3(o,m,*))
1780 iptr10= loc(chtarg1)
1781 iptr11= loc(chtarg2)
1782 iptr12= loc(chtarg3)
1783 iptr13= loc(ch8targ1)
1784 iptr14= loc(ch8targ2)
1785 iptr15= loc(ch8targ3)
1789 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1791 errors(201) = .true.
1794 dtarg1(i)%i1=2*dpte1(i)%i1
1795 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1797 errors(202) = .true.
1801 if (intne(ipte1(i), itarg1(i))) then
1803 errors(203) = .true.
1806 itarg1(i) = -ipte1(i)
1807 if (intne(ipte1(i), itarg1(i))) then
1809 errors(204) = .true.
1813 if (realne(rpte1(i), rtarg1(i))) then
1815 errors(205) = .true.
1818 rtarg1(i) = i * (-5.0)
1819 if (realne(rpte1(i), rtarg1(i))) then
1821 errors(206) = .true.
1825 if (chne(chpte1(i), chtarg1(i))) then
1827 errors(207) = .true.
1831 if (chne(chpte1(i), chtarg1(i))) then
1833 errors(208) = .true.
1836 ch8pte1(i) = 'aaaaaaaa'
1837 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1839 errors(209) = .true.
1842 ch8targ1(i) = 'zzzzzzzz'
1843 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1845 errors(210) = .true.
1850 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1852 errors(211) = .true.
1855 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
1856 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1858 errors(212) = .true.
1862 if (intne(ipte2(j,i), itarg2(j,i))) then
1864 errors(213) = .true.
1867 itarg2(j,i) = -ipte2(j,i)
1868 if (intne(ipte2(j,i), itarg2(j,i))) then
1870 errors(214) = .true.
1873 rpte2(j,i) = i * (-2.0)
1874 if (realne(rpte2(j,i), rtarg2(j,i))) then
1876 errors(215) = .true.
1879 rtarg2(j,i) = i * (-3.0)
1880 if (realne(rpte2(j,i), rtarg2(j,i))) then
1882 errors(216) = .true.
1886 if (chne(chpte2(j,i), chtarg2(j,i))) then
1888 errors(217) = .true.
1892 if (chne(chpte2(j,i), chtarg2(j,i))) then
1894 errors(218) = .true.
1897 ch8pte2(j,i) = 'aaaaaaaa'
1898 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1900 errors(219) = .true.
1903 ch8targ2(j,i) = 'zzzzzzzz'
1904 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1906 errors(220) = .true.
1909 dpte3(k,j,i)%i2(1+mod(i,5))=i
1910 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1911 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1913 errors(221) = .true.
1916 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
1917 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1918 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1920 errors(222) = .true.
1924 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1926 errors(223) = .true.
1929 itarg3(k,j,i) = -ipte3(k,j,i)
1930 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1932 errors(224) = .true.
1935 rpte3(k,j,i) = i * 2.0
1936 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1938 errors(225) = .true.
1941 rtarg3(k,j,i) = i * 3.0
1942 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1944 errors(226) = .true.
1948 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1950 errors(227) = .true.
1953 chtarg3(k,j,i) = 'z'
1954 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1956 errors(228) = .true.
1959 ch8pte3(k,j,i) = 'aaaaaaaa'
1960 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1962 errors(229) = .true.
1965 ch8targ3(k,j,i) = 'zzzzzzzz'
1966 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1968 errors(230) = .true.
1977 common /errors/errors(400)
1978 logical :: errors, intne, realne, chne, ch8ne
1980 integer, parameter :: n = 9
1981 integer, parameter :: m = 10
1982 integer, parameter :: o = 11
1984 integer itarg2 (m,n)
1985 integer itarg3 (o,m,n)
1989 character chtarg1(n)
1990 character chtarg2(m,n)
1991 character chtarg3(o,m,n)
1992 character*8 ch8targ1(n)
1993 character*8 ch8targ2(m,n)
1994 character*8 ch8targ3(o,m,n)
2000 type(drvd) dtarg1(n)
2001 type(drvd) dtarg2(m,n)
2002 type(drvd) dtarg3(o,m,n)
2004 pointer(iptr1,dpte1)
2005 pointer(iptr2,dpte2)
2006 pointer(iptr3,dpte3)
2007 pointer(iptr4,ipte1)
2008 pointer(iptr5,ipte2)
2009 pointer(iptr6,ipte3)
2010 pointer(iptr7,rpte1)
2011 pointer(iptr8,rpte2)
2012 pointer(iptr9,rpte3)
2013 pointer(iptr10,chpte1)
2014 pointer(iptr11,chpte2)
2015 pointer(iptr12,chpte3)
2016 pointer(iptr13,ch8pte1)
2017 pointer(iptr14,ch8pte2)
2018 pointer(iptr15,ch8pte3)
2021 type(drvd) dpte2(m,*)
2022 type(drvd) dpte3(o,m,*)
2025 integer ipte3 (o,m,*)
2030 character chpte2(m,*)
2031 character chpte3(o,m,*)
2032 character*8 ch8pte1(*)
2033 character*8 ch8pte2(m,*)
2034 character*8 ch8pte3(o,m,*)
2045 iptr10= loc(chtarg1)
2046 iptr11= loc(chtarg2)
2047 iptr12= loc(chtarg3)
2048 iptr13= loc(ch8targ1)
2049 iptr14= loc(ch8targ2)
2050 iptr15= loc(ch8targ3)
2055 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2057 errors(231) = .true.
2060 dtarg1(i)%i1=2*dpte1(i)%i1
2061 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2063 errors(232) = .true.
2067 if (intne(ipte1(i), itarg1(i))) then
2069 errors(233) = .true.
2072 itarg1(i) = -ipte1(i)
2073 if (intne(ipte1(i), itarg1(i))) then
2075 errors(234) = .true.
2079 if (realne(rpte1(i), rtarg1(i))) then
2081 errors(235) = .true.
2084 rtarg1(i) = i * (-5.0)
2085 if (realne(rpte1(i), rtarg1(i))) then
2087 errors(236) = .true.
2091 if (chne(chpte1(i), chtarg1(i))) then
2093 errors(237) = .true.
2097 if (chne(chpte1(i), chtarg1(i))) then
2099 errors(238) = .true.
2102 ch8pte1(i) = 'aaaaaaaa'
2103 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2105 errors(239) = .true.
2108 ch8targ1(i) = 'zzzzzzzz'
2109 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2111 errors(240) = .true.
2116 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2118 errors(241) = .true.
2121 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
2122 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2124 errors(242) = .true.
2128 if (intne(ipte2(j,i), itarg2(j,i))) then
2130 errors(243) = .true.
2133 itarg2(j,i) = -ipte2(j,i)
2134 if (intne(ipte2(j,i), itarg2(j,i))) then
2136 errors(244) = .true.
2139 rpte2(j,i) = i * (-2.0)
2140 if (realne(rpte2(j,i), rtarg2(j,i))) then
2142 errors(245) = .true.
2145 rtarg2(j,i) = i * (-3.0)
2146 if (realne(rpte2(j,i), rtarg2(j,i))) then
2148 errors(246) = .true.
2152 if (chne(chpte2(j,i), chtarg2(j,i))) then
2154 errors(247) = .true.
2158 if (chne(chpte2(j,i), chtarg2(j,i))) then
2160 errors(248) = .true.
2163 ch8pte2(j,i) = 'aaaaaaaa'
2164 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2166 errors(249) = .true.
2169 ch8targ2(j,i) = 'zzzzzzzz'
2170 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2172 errors(250) = .true.
2175 dpte3(k,j,i)%i2(1+mod(i,5))=i
2176 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2177 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2179 errors(251) = .true.
2182 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
2183 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2184 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2186 errors(252) = .true.
2190 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2192 errors(253) = .true.
2195 itarg3(k,j,i) = -ipte3(k,j,i)
2196 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2198 errors(254) = .true.
2201 rpte3(k,j,i) = i * 2.0
2202 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2204 errors(255) = .true.
2207 rtarg3(k,j,i) = i * 3.0
2208 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2210 errors(256) = .true.
2214 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2216 errors(257) = .true.
2219 chtarg3(k,j,i) = 'z'
2220 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2222 errors(258) = .true.
2225 ch8pte3(k,j,i) = 'aaaaaaaa'
2226 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2228 errors(259) = .true.
2231 ch8targ3(k,j,i) = 'zzzzzzzz'
2232 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2234 errors(260) = .true.
2242 subroutine ptr9(nnn,mmm,ooo)
2243 common /errors/errors(400)
2244 logical :: errors, intne, realne, chne, ch8ne
2246 integer :: nnn,mmm,ooo
2247 integer, parameter :: n = 9
2248 integer, parameter :: m = 10
2249 integer, parameter :: o = 11
2251 integer itarg2 (m,n)
2252 integer itarg3 (o,m,n)
2256 character chtarg1(n)
2257 character chtarg2(m,n)
2258 character chtarg3(o,m,n)
2259 character*8 ch8targ1(n)
2260 character*8 ch8targ2(m,n)
2261 character*8 ch8targ3(o,m,n)
2267 type(drvd) dtarg1(n)
2268 type(drvd) dtarg2(m,n)
2269 type(drvd) dtarg3(o,m,n)
2271 type(drvd) dpte1(nnn)
2272 type(drvd) dpte2(mmm,nnn)
2273 type(drvd) dpte3(ooo,mmm,nnn)
2275 integer ipte2 (mmm,nnn)
2276 integer ipte3 (ooo,mmm,nnn)
2279 real rpte3(ooo,mmm,nnn)
2280 character chpte1(nnn)
2281 character chpte2(mmm,nnn)
2282 character chpte3(ooo,mmm,nnn)
2283 character*8 ch8pte1(nnn)
2284 character*8 ch8pte2(mmm,nnn)
2285 character*8 ch8pte3(ooo,mmm,nnn)
2287 pointer(iptr1,dpte1)
2288 pointer(iptr2,dpte2)
2289 pointer(iptr3,dpte3)
2290 pointer(iptr4,ipte1)
2291 pointer(iptr5,ipte2)
2292 pointer(iptr6,ipte3)
2293 pointer(iptr7,rpte1)
2294 pointer(iptr8,rpte2)
2295 pointer(iptr9,rpte3)
2296 pointer(iptr10,chpte1)
2297 pointer(iptr11,chpte2)
2298 pointer(iptr12,chpte3)
2299 pointer(iptr13,ch8pte1)
2300 pointer(iptr14,ch8pte2)
2301 pointer(iptr15,ch8pte3)
2312 iptr10= loc(chtarg1)
2313 iptr11= loc(chtarg2)
2314 iptr12= loc(chtarg3)
2315 iptr13= loc(ch8targ1)
2316 iptr14= loc(ch8targ2)
2317 iptr15= loc(ch8targ3)
2322 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2324 errors(261) = .true.
2327 dtarg1(i)%i1=2*dpte1(i)%i1
2328 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2330 errors(262) = .true.
2334 if (intne(ipte1(i), itarg1(i))) then
2336 errors(263) = .true.
2339 itarg1(i) = -ipte1(i)
2340 if (intne(ipte1(i), itarg1(i))) then
2342 errors(264) = .true.
2346 if (realne(rpte1(i), rtarg1(i))) then
2348 errors(265) = .true.
2351 rtarg1(i) = i * (-5.0)
2352 if (realne(rpte1(i), rtarg1(i))) then
2354 errors(266) = .true.
2358 if (chne(chpte1(i), chtarg1(i))) then
2360 errors(267) = .true.
2364 if (chne(chpte1(i), chtarg1(i))) then
2366 errors(268) = .true.
2369 ch8pte1(i) = 'aaaaaaaa'
2370 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2372 errors(269) = .true.
2375 ch8targ1(i) = 'zzzzzzzz'
2376 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2378 errors(270) = .true.
2383 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2385 errors(271) = .true.
2388 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
2389 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2391 errors(272) = .true.
2395 if (intne(ipte2(j,i), itarg2(j,i))) then
2397 errors(273) = .true.
2400 itarg2(j,i) = -ipte2(j,i)
2401 if (intne(ipte2(j,i), itarg2(j,i))) then
2403 errors(274) = .true.
2406 rpte2(j,i) = i * (-2.0)
2407 if (realne(rpte2(j,i), rtarg2(j,i))) then
2409 errors(275) = .true.
2412 rtarg2(j,i) = i * (-3.0)
2413 if (realne(rpte2(j,i), rtarg2(j,i))) then
2415 errors(276) = .true.
2419 if (chne(chpte2(j,i), chtarg2(j,i))) then
2421 errors(277) = .true.
2425 if (chne(chpte2(j,i), chtarg2(j,i))) then
2427 errors(278) = .true.
2430 ch8pte2(j,i) = 'aaaaaaaa'
2431 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2433 errors(279) = .true.
2436 ch8targ2(j,i) = 'zzzzzzzz'
2437 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2439 errors(280) = .true.
2442 dpte3(k,j,i)%i2(1+mod(i,5))=i
2443 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2444 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2446 errors(281) = .true.
2449 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
2450 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2451 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2453 errors(282) = .true.
2457 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2459 errors(283) = .true.
2462 itarg3(k,j,i) = -ipte3(k,j,i)
2463 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2465 errors(284) = .true.
2468 rpte3(k,j,i) = i * 2.0
2469 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2471 errors(285) = .true.
2474 rtarg3(k,j,i) = i * 3.0
2475 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2477 errors(286) = .true.
2481 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2483 errors(287) = .true.
2486 chtarg3(k,j,i) = 'z'
2487 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2489 errors(288) = .true.
2492 ch8pte3(k,j,i) = 'aaaaaaaa'
2493 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2495 errors(289) = .true.
2498 ch8targ3(k,j,i) = 'zzzzzzzz'
2499 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2501 errors(290) = .true.
2514 if (intne(itarg3(k,j,i), i)) then
2516 errors(291) = .true.
2519 if (realne(rtarg3(k,j,i), i+.5)) then
2521 errors(292) = .true.
2529 subroutine ptr10(nnn,mmm,ooo)
2530 common /errors/errors(400)
2531 logical :: errors, intne, realne, chne, ch8ne
2533 integer :: nnn,mmm,ooo
2534 integer, parameter :: n = 9
2535 integer, parameter :: m = 10
2536 integer, parameter :: o = 11
2538 integer itarg2 (m,n)
2539 integer itarg3 (o,m,n)
2543 character chtarg1(n)
2544 character chtarg2(m,n)
2545 character chtarg3(o,m,n)
2546 character*8 ch8targ1(n)
2547 character*8 ch8targ2(m,n)
2548 character*8 ch8targ3(o,m,n)
2554 type(drvd) dtarg1(n)
2555 type(drvd) dtarg2(m,n)
2556 type(drvd) dtarg3(o,m,n)
2574 pointer(iptr1,dpte1(nnn))
2575 pointer(iptr2,dpte2(mmm,nnn))
2576 pointer(iptr3,dpte3(ooo,mmm,nnn))
2577 pointer(iptr4,ipte1(nnn))
2578 pointer(iptr5,ipte2 (mmm,nnn))
2579 pointer(iptr6,ipte3(ooo,mmm,nnn))
2580 pointer(iptr7,rpte1(nnn))
2581 pointer(iptr8,rpte2(mmm,nnn))
2582 pointer(iptr9,rpte3(ooo,mmm,nnn))
2583 pointer(iptr10,chpte1(nnn))
2584 pointer(iptr11,chpte2(mmm,nnn))
2585 pointer(iptr12,chpte3(ooo,mmm,nnn))
2586 pointer(iptr13,ch8pte1(nnn))
2587 pointer(iptr14,ch8pte2(mmm,nnn))
2588 pointer(iptr15,ch8pte3(ooo,mmm,nnn))
2599 iptr10= loc(chtarg1)
2600 iptr11= loc(chtarg2)
2601 iptr12= loc(chtarg3)
2602 iptr13= loc(ch8targ1)
2603 iptr14= loc(ch8targ2)
2604 iptr15= loc(ch8targ3)
2608 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2610 errors(293) = .true.
2613 dtarg1(i)%i1=2*dpte1(i)%i1
2614 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2616 errors(294) = .true.
2620 if (intne(ipte1(i), itarg1(i))) then
2622 errors(295) = .true.
2625 itarg1(i) = -ipte1(i)
2626 if (intne(ipte1(i), itarg1(i))) then
2628 errors(296) = .true.
2632 if (realne(rpte1(i), rtarg1(i))) then
2634 errors(297) = .true.
2637 rtarg1(i) = i * (-5.0)
2638 if (realne(rpte1(i), rtarg1(i))) then
2640 errors(298) = .true.
2644 if (chne(chpte1(i), chtarg1(i))) then
2646 errors(299) = .true.
2650 if (chne(chpte1(i), chtarg1(i))) then
2652 errors(300) = .true.
2655 ch8pte1(i) = 'aaaaaaaa'
2656 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2658 errors(301) = .true.
2661 ch8targ1(i) = 'zzzzzzzz'
2662 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2664 errors(302) = .true.
2669 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2671 errors(303) = .true.
2674 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
2675 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2677 errors(304) = .true.
2681 if (intne(ipte2(j,i), itarg2(j,i))) then
2683 errors(305) = .true.
2686 itarg2(j,i) = -ipte2(j,i)
2687 if (intne(ipte2(j,i), itarg2(j,i))) then
2689 errors(306) = .true.
2692 rpte2(j,i) = i * (-2.0)
2693 if (realne(rpte2(j,i), rtarg2(j,i))) then
2695 errors(307) = .true.
2698 rtarg2(j,i) = i * (-3.0)
2699 if (realne(rpte2(j,i), rtarg2(j,i))) then
2701 errors(308) = .true.
2705 if (chne(chpte2(j,i), chtarg2(j,i))) then
2707 errors(309) = .true.
2711 if (chne(chpte2(j,i), chtarg2(j,i))) then
2713 errors(310) = .true.
2716 ch8pte2(j,i) = 'aaaaaaaa'
2717 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2719 errors(311) = .true.
2722 ch8targ2(j,i) = 'zzzzzzzz'
2723 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2725 errors(312) = .true.
2728 dpte3(k,j,i)%i2(1+mod(i,5))=i
2729 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2730 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2732 errors(313) = .true.
2735 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
2736 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2737 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2739 errors(314) = .true.
2743 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2745 errors(315) = .true.
2748 itarg3(k,j,i) = -ipte3(k,j,i)
2749 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2751 errors(316) = .true.
2754 rpte3(k,j,i) = i * 2.0
2755 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2757 errors(317) = .true.
2760 rtarg3(k,j,i) = i * 3.0
2761 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2763 errors(318) = .true.
2767 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2769 errors(319) = .true.
2772 chtarg3(k,j,i) = 'z'
2773 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2775 errors(320) = .true.
2778 ch8pte3(k,j,i) = 'aaaaaaaa'
2779 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2781 errors(321) = .true.
2784 ch8targ3(k,j,i) = 'zzzzzzzz'
2785 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2787 errors(322) = .true.
2800 if (intne(itarg3(k,j,i), i)) then
2802 errors(323) = .true.
2805 if (realne(rtarg3(k,j,i), i+.5)) then
2807 errors(324) = .true.
2812 end subroutine ptr10
2814 subroutine ptr11(nnn,mmm,ooo)
2815 common /errors/errors(400)
2816 logical :: errors, intne, realne, chne, ch8ne
2818 integer :: nnn,mmm,ooo
2819 integer, parameter :: n = 9
2820 integer, parameter :: m = 10
2821 integer, parameter :: o = 11
2823 integer itarg2 (m,n)
2824 integer itarg3 (o,m,n)
2828 character chtarg1(n)
2829 character chtarg2(m,n)
2830 character chtarg3(o,m,n)
2831 character*8 ch8targ1(n)
2832 character*8 ch8targ2(m,n)
2833 character*8 ch8targ3(o,m,n)
2839 type(drvd) dtarg1(n)
2840 type(drvd) dtarg2(m,n)
2841 type(drvd) dtarg3(o,m,n)
2843 pointer(iptr1,dpte1(nnn))
2844 pointer(iptr2,dpte2(mmm,nnn))
2845 pointer(iptr3,dpte3(ooo,mmm,nnn))
2846 pointer(iptr4,ipte1(nnn))
2847 pointer(iptr5,ipte2 (mmm,nnn))
2848 pointer(iptr6,ipte3(ooo,mmm,nnn))
2849 pointer(iptr7,rpte1(nnn))
2850 pointer(iptr8,rpte2(mmm,nnn))
2851 pointer(iptr9,rpte3(ooo,mmm,nnn))
2852 pointer(iptr10,chpte1(nnn))
2853 pointer(iptr11,chpte2(mmm,nnn))
2854 pointer(iptr12,chpte3(ooo,mmm,nnn))
2855 pointer(iptr13,ch8pte1(nnn))
2856 pointer(iptr14,ch8pte2(mmm,nnn))
2857 pointer(iptr15,ch8pte3(ooo,mmm,nnn))
2884 iptr10= loc(chtarg1)
2885 iptr11= loc(chtarg2)
2886 iptr12= loc(chtarg3)
2887 iptr13= loc(ch8targ1)
2888 iptr14= loc(ch8targ2)
2889 iptr15= loc(ch8targ3)
2893 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2895 errors(325) = .true.
2898 dtarg1(i)%i1=2*dpte1(i)%i1
2899 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2901 errors(326) = .true.
2905 if (intne(ipte1(i), itarg1(i))) then
2907 errors(327) = .true.
2910 itarg1(i) = -ipte1(i)
2911 if (intne(ipte1(i), itarg1(i))) then
2913 errors(328) = .true.
2917 if (realne(rpte1(i), rtarg1(i))) then
2919 errors(329) = .true.
2922 rtarg1(i) = i * (-5.0)
2923 if (realne(rpte1(i), rtarg1(i))) then
2925 errors(330) = .true.
2929 if (chne(chpte1(i), chtarg1(i))) then
2931 errors(331) = .true.
2935 if (chne(chpte1(i), chtarg1(i))) then
2937 errors(332) = .true.
2940 ch8pte1(i) = 'aaaaaaaa'
2941 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2943 errors(333) = .true.
2946 ch8targ1(i) = 'zzzzzzzz'
2947 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2949 errors(334) = .true.
2954 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2956 errors(335) = .true.
2959 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
2960 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2962 errors(336) = .true.
2966 if (intne(ipte2(j,i), itarg2(j,i))) then
2968 errors(337) = .true.
2971 itarg2(j,i) = -ipte2(j,i)
2972 if (intne(ipte2(j,i), itarg2(j,i))) then
2974 errors(338) = .true.
2977 rpte2(j,i) = i * (-2.0)
2978 if (realne(rpte2(j,i), rtarg2(j,i))) then
2980 errors(339) = .true.
2983 rtarg2(j,i) = i * (-3.0)
2984 if (realne(rpte2(j,i), rtarg2(j,i))) then
2986 errors(340) = .true.
2990 if (chne(chpte2(j,i), chtarg2(j,i))) then
2992 errors(341) = .true.
2996 if (chne(chpte2(j,i), chtarg2(j,i))) then
2998 errors(342) = .true.
3001 ch8pte2(j,i) = 'aaaaaaaa'
3002 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
3004 errors(343) = .true.
3007 ch8targ2(j,i) = 'zzzzzzzz'
3008 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
3010 errors(344) = .true.
3013 dpte3(k,j,i)%i2(1+mod(i,5))=i
3014 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
3015 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
3017 errors(345) = .true.
3020 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
3021 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
3022 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
3024 errors(346) = .true.
3028 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
3030 errors(347) = .true.
3033 itarg3(k,j,i) = -ipte3(k,j,i)
3034 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
3036 errors(348) = .true.
3039 rpte3(k,j,i) = i * 2.0
3040 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
3042 errors(349) = .true.
3045 rtarg3(k,j,i) = i * 3.0
3046 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
3048 errors(350) = .true.
3052 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
3054 errors(351) = .true.
3057 chtarg3(k,j,i) = 'z'
3058 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
3060 errors(352) = .true.
3063 ch8pte3(k,j,i) = 'aaaaaaaa'
3064 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
3066 errors(353) = .true.
3069 ch8targ3(k,j,i) = 'zzzzzzzz'
3070 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
3072 errors(354) = .true.
3085 if (intne(itarg3(k,j,i), i)) then
3087 errors(355) = .true.
3090 if (realne(rtarg3(k,j,i), i+.5)) then
3092 errors(356) = .true.
3097 end subroutine ptr11
3099 subroutine ptr12(nnn,mmm,ooo)
3100 common /errors/errors(400)
3101 logical :: errors, intne, realne, chne, ch8ne
3103 integer :: nnn,mmm,ooo
3104 integer, parameter :: n = 9
3105 integer, parameter :: m = 10
3106 integer, parameter :: o = 11
3108 integer itarg2 (m,n)
3109 integer itarg3 (o,m,n)
3113 character chtarg1(n)
3114 character chtarg2(m,n)
3115 character chtarg3(o,m,n)
3116 character*8 ch8targ1(n)
3117 character*8 ch8targ2(m,n)
3118 character*8 ch8targ3(o,m,n)
3124 type(drvd) dtarg1(n)
3125 type(drvd) dtarg2(m,n)
3126 type(drvd) dtarg3(o,m,n)
3128 pointer(iptr1,dpte1)
3129 pointer(iptr2,dpte2)
3130 pointer(iptr3,dpte3)
3131 pointer(iptr4,ipte1)
3132 pointer(iptr5,ipte2)
3133 pointer(iptr6,ipte3)
3134 pointer(iptr7,rpte1)
3135 pointer(iptr8,rpte2)
3136 pointer(iptr9,rpte3)
3137 pointer(iptr10,chpte1)
3138 pointer(iptr11,chpte2)
3139 pointer(iptr12,chpte3)
3140 pointer(iptr13,ch8pte1)
3141 pointer(iptr14,ch8pte2)
3142 pointer(iptr15,ch8pte3)
3144 type(drvd) dpte1(nnn)
3145 type(drvd) dpte2(mmm,nnn)
3146 type(drvd) dpte3(ooo,mmm,nnn)
3148 integer ipte2 (mmm,nnn)
3149 integer ipte3 (ooo,mmm,nnn)
3152 real rpte3(ooo,mmm,nnn)
3153 character chpte1(nnn)
3154 character chpte2(mmm,nnn)
3155 character chpte3(ooo,mmm,nnn)
3156 character*8 ch8pte1(nnn)
3157 character*8 ch8pte2(mmm,nnn)
3158 character*8 ch8pte3(ooo,mmm,nnn)
3169 iptr10= loc(chtarg1)
3170 iptr11= loc(chtarg2)
3171 iptr12= loc(chtarg3)
3172 iptr13= loc(ch8targ1)
3173 iptr14= loc(ch8targ2)
3174 iptr15= loc(ch8targ3)
3179 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
3181 errors(357) = .true.
3184 dtarg1(i)%i1=2*dpte1(i)%i1
3185 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
3187 errors(358) = .true.
3191 if (intne(ipte1(i), itarg1(i))) then
3193 errors(359) = .true.
3196 itarg1(i) = -ipte1(i)
3197 if (intne(ipte1(i), itarg1(i))) then
3199 errors(360) = .true.
3203 if (realne(rpte1(i), rtarg1(i))) then
3205 errors(361) = .true.
3208 rtarg1(i) = i * (-5.0)
3209 if (realne(rpte1(i), rtarg1(i))) then
3211 errors(362) = .true.
3215 if (chne(chpte1(i), chtarg1(i))) then
3217 errors(363) = .true.
3221 if (chne(chpte1(i), chtarg1(i))) then
3223 errors(364) = .true.
3226 ch8pte1(i) = 'aaaaaaaa'
3227 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
3229 errors(365) = .true.
3232 ch8targ1(i) = 'zzzzzzzz'
3233 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
3235 errors(366) = .true.
3240 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
3242 errors(367) = .true.
3245 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
3246 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
3248 errors(368) = .true.
3252 if (intne(ipte2(j,i), itarg2(j,i))) then
3254 errors(369) = .true.
3257 itarg2(j,i) = -ipte2(j,i)
3258 if (intne(ipte2(j,i), itarg2(j,i))) then
3260 errors(370) = .true.
3263 rpte2(j,i) = i * (-2.0)
3264 if (realne(rpte2(j,i), rtarg2(j,i))) then
3266 errors(371) = .true.
3269 rtarg2(j,i) = i * (-3.0)
3270 if (realne(rpte2(j,i), rtarg2(j,i))) then
3272 errors(372) = .true.
3276 if (chne(chpte2(j,i), chtarg2(j,i))) then
3278 errors(373) = .true.
3282 if (chne(chpte2(j,i), chtarg2(j,i))) then
3284 errors(374) = .true.
3287 ch8pte2(j,i) = 'aaaaaaaa'
3288 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
3290 errors(375) = .true.
3293 ch8targ2(j,i) = 'zzzzzzzz'
3294 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
3296 errors(376) = .true.
3299 dpte3(k,j,i)%i2(1+mod(i,5))=i
3300 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
3301 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
3303 errors(377) = .true.
3306 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
3307 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
3308 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
3310 errors(378) = .true.
3314 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
3316 errors(379) = .true.
3319 itarg3(k,j,i) = -ipte3(k,j,i)
3320 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
3322 errors(380) = .true.
3325 rpte3(k,j,i) = i * 2.0
3326 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
3328 errors(381) = .true.
3331 rtarg3(k,j,i) = i * 3.0
3332 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
3334 errors(382) = .true.
3338 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
3340 errors(383) = .true.
3343 chtarg3(k,j,i) = 'z'
3344 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
3346 errors(384) = .true.
3349 ch8pte3(k,j,i) = 'aaaaaaaa'
3350 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
3352 errors(385) = .true.
3355 ch8targ3(k,j,i) = 'zzzzzzzz'
3356 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
3358 errors(386) = .true.
3371 if (intne(itarg3(k,j,i), i)) then
3373 errors(387) = .true.
3376 if (realne(rtarg3(k,j,i), i+.5)) then
3378 errors(388) = .true.
3384 end subroutine ptr12
3387 subroutine ptr13(nnn,mmm)
3388 common /errors/errors(400)
3389 logical :: errors, intne, realne, chne, ch8ne
3392 integer, parameter :: n = 9
3393 integer, parameter :: m = 10
3395 integer itarg2 (m,n)
3405 dimension rpte2(mmm,nnn)
3407 pointer(iptr4,ipte1)
3408 pointer(iptr5,ipte2)
3409 pointer(iptr7,rpte1)
3410 pointer(iptr8,rpte2)
3412 dimension ipte2(mmm,nnn)
3422 if (intne(ipte1(i), itarg1(i))) then
3424 errors(389) = .true.
3427 itarg1(i) = -ipte1(i)
3428 if (intne(ipte1(i), itarg1(i))) then
3430 errors(390) = .true.
3434 if (realne(rpte1(i), rtarg1(i))) then
3436 errors(391) = .true.
3439 rtarg1(i) = i * (-5.0)
3440 if (realne(rpte1(i), rtarg1(i))) then
3442 errors(392) = .true.
3447 if (intne(ipte2(j,i), itarg2(j,i))) then
3449 errors(393) = .true.
3452 itarg2(j,i) = -ipte2(j,i)
3453 if (intne(ipte2(j,i), itarg2(j,i))) then
3455 errors(394) = .true.
3458 rpte2(j,i) = i * (-2.0)
3459 if (realne(rpte2(j,i), rtarg2(j,i))) then
3461 errors(395) = .true.
3464 rtarg2(j,i) = i * (-3.0)
3465 if (realne(rpte2(j,i), rtarg2(j,i))) then
3467 errors(396) = .true.
3472 end subroutine ptr13
3475 ! Test the passing of pointers and pointees as parameters
3477 integer, parameter :: n = 12
3478 integer, parameter :: m = 13
3484 ! write(*,*) "loc(iarray)",loc(iarray)
3485 call parmptr(ipt,iarray,n,m)
3486 ! write(*,*) "loc(iptee)",loc(iptee)
3487 call parmpte(iptee,iarray,n,m)
3488 end subroutine parmtest
3490 subroutine parmptr(ipointer,intarr,n,m)
3491 common /errors/errors(400)
3492 logical :: errors, intne
3495 pointer (ipointer,newpte)
3497 ! write(*,*) "loc(newpte)",loc(newpte)
3498 ! write(*,*) "loc(intarr)",loc(intarr)
3499 ! write(*,*) "loc(newpte(1,1))",loc(newpte(1,1))
3501 ! write(*,*) "newpte(1,1)=",newpte(1,1)
3502 ! write(*,*) "intarr(1,1)=",intarr(1,1)
3506 if (intne(newpte(j,i),intarr(j,i))) then
3508 errors(397) = .true.
3511 call donothing(newpte(j,i),intarr(j,i))
3512 intarr(j,i) = -newpte(j,i)
3513 if (intne(newpte(j,i),intarr(j,i))) then
3515 errors(398) = .true.
3519 end subroutine parmptr
3521 subroutine parmpte(pointee,intarr,n,m)
3522 common /errors/errors(400)
3523 logical :: errors, intne
3525 integer pointee (m,n)
3526 integer intarr (m,n)
3527 ! write(*,*) "loc(pointee)",loc(pointee)
3528 ! write(*,*) "loc(intarr)",loc(intarr)
3529 ! write(*,*) "loc(pointee(1,1))",loc(pointee(1,1))
3531 ! write(*,*) "pointee(1,1)=",pointee(1,1)
3532 ! write(*,*) "intarr(1,1)=",intarr(1,1)
3537 if (intne(pointee(j,i),intarr(j,i))) then
3539 errors(399) = .true.
3542 intarr(j,i) = 2*pointee(j,i)
3543 call donothing(pointee(j,i),intarr(j,i))
3544 if (intne(pointee(j,i),intarr(j,i))) then
3546 errors(400) = .true.
3550 end subroutine parmpte
3552 ! Separate function calls to break Cray pointer-indifferent optimization
3553 logical function intne(ii,jj)
3560 write (*,*) ii," doesn't equal ",jj
3564 logical function realne(r1,r2)
3571 write (*,*) r1," doesn't equal ",r2
3575 logical function chne(ch1,ch2)
3576 character :: ch1, ch2
3582 write (*,*) ch1," doesn't equal ",ch2
3586 logical function ch8ne(ch1,ch2)
3587 character*8 :: ch1, ch2
3593 write (*,*) ch1," doesn't equal ",ch2
3597 subroutine donothing(ii,jj)
3599 integer :: ii,jj,foo
3608 ! print *,"Test did not run correctly"
3611 end subroutine donothing