PR ipa/83051
[official-gcc.git] / gcc / testsuite / gfortran.dg / cray_pointers_2.f90
blob82ce2915982209adaef5b8a5e077546ba547e1c2
1 ! Using two spaces between dg-do and run is a hack to keep gfortran-dg-runtest
2 ! from cycling through optimization options for this expensive test.
3 ! { dg-do run }
4 ! { dg-options "-O3 -fcray-pointer -fbounds-check -fno-inline" }
5 ! { dg-timeout-factor 4 }
7 ! Series of routines for testing a Cray pointer implementation
9 ! Note: Some of the test cases violate Fortran's alias rules;
10 ! the "-fno-inline option" for now prevents failures.
12 program craytest
13 common /errors/errors(400)
14 common /foo/foo ! To prevent optimizations
15 integer foo
16 integer i
17 logical errors
18 errors = .false.
19 foo = 0
20 call ptr1
21 call ptr2
22 call ptr3
23 call ptr4
24 call ptr5
25 call ptr6
26 call ptr7
27 call ptr8
28 call ptr9(9,10,11)
29 call ptr10(9,10,11)
30 call ptr11(9,10,11)
31 call ptr12(9,10,11)
32 call ptr13(9,10)
33 call parmtest
34 ! NOTE: Tests 1 through 12 were removed from this file
35 ! and placed in loc_1.f90, so we start at 13
36 do i=13,400
37 if (errors(i)) then
38 ! print *,"Test",i,"failed."
39 call abort()
40 endif
41 end do
42 if (foo.eq.0) then
43 ! print *,"Test did not run correctly."
44 call abort()
45 endif
46 end program craytest
48 ! ptr1 through ptr13 that Cray pointees are correctly used with
49 ! a variety of declaration styles
50 subroutine ptr1
51 common /errors/errors(400)
52 logical :: errors, intne, realne, chne, ch8ne
53 integer :: i,j,k
54 integer, parameter :: n = 9
55 integer, parameter :: m = 10
56 integer, parameter :: o = 11
57 integer itarg1 (n)
58 integer itarg2 (m,n)
59 integer itarg3 (o,m,n)
60 real rtarg1(n)
61 real rtarg2(m,n)
62 real rtarg3(o,m,n)
63 character chtarg1(n)
64 character chtarg2(m,n)
65 character chtarg3(o,m,n)
66 character*8 ch8targ1(n)
67 character*8 ch8targ2(m,n)
68 character*8 ch8targ3(o,m,n)
69 type drvd
70 real r1
71 integer i1
72 integer i2(5)
73 end type drvd
74 type(drvd) dtarg1(n)
75 type(drvd) dtarg2(m,n)
76 type(drvd) dtarg3(o,m,n)
78 type(drvd) dpte1(n)
79 type(drvd) dpte2(m,n)
80 type(drvd) dpte3(o,m,n)
81 integer ipte1 (n)
82 integer ipte2 (m,n)
83 integer ipte3 (o,m,n)
84 real rpte1(n)
85 real rpte2(m,n)
86 real rpte3(o,m,n)
87 character chpte1(n)
88 character chpte2(m,n)
89 character chpte3(o,m,n)
90 character*8 ch8pte1(n)
91 character*8 ch8pte2(m,n)
92 character*8 ch8pte3(o,m,n)
94 pointer(iptr1,dpte1)
95 pointer(iptr2,dpte2)
96 pointer(iptr3,dpte3)
97 pointer(iptr4,ipte1)
98 pointer(iptr5,ipte2)
99 pointer(iptr6,ipte3)
100 pointer(iptr7,rpte1)
101 pointer(iptr8,rpte2)
102 pointer(iptr9,rpte3)
103 pointer(iptr10,chpte1)
104 pointer(iptr11,chpte2)
105 pointer(iptr12,chpte3)
106 pointer(iptr13,ch8pte1)
107 pointer(iptr14,ch8pte2)
108 pointer(iptr15,ch8pte3)
110 iptr1 = loc(dtarg1)
111 iptr2 = loc(dtarg2)
112 iptr3 = loc(dtarg3)
113 iptr4 = loc(itarg1)
114 iptr5 = loc(itarg2)
115 iptr6 = loc(itarg3)
116 iptr7 = loc(rtarg1)
117 iptr8 = loc(rtarg2)
118 iptr9 = loc(rtarg3)
119 iptr10= loc(chtarg1)
120 iptr11= loc(chtarg2)
121 iptr12= loc(chtarg3)
122 iptr13= loc(ch8targ1)
123 iptr14= loc(ch8targ2)
124 iptr15= loc(ch8targ3)
127 do, i=1,n
128 dpte1(i)%i1=i
129 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
130 ! Error #13
131 errors(13) = .true.
132 endif
134 dtarg1(i)%i1=2*dpte1(i)%i1
135 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
136 ! Error #14
137 errors(14) = .true.
138 endif
140 ipte1(i) = i
141 if (intne(ipte1(i), itarg1(i))) then
142 ! Error #15
143 errors(15) = .true.
144 endif
146 itarg1(i) = -ipte1(i)
147 if (intne(ipte1(i), itarg1(i))) then
148 ! Error #16
149 errors(16) = .true.
150 endif
152 rpte1(i) = i * 5.0
153 if (realne(rpte1(i), rtarg1(i))) then
154 ! Error #17
155 errors(17) = .true.
156 endif
158 rtarg1(i) = i * (-5.0)
159 if (realne(rpte1(i), rtarg1(i))) then
160 ! Error #18
161 errors(18) = .true.
162 endif
164 chpte1(i) = 'a'
165 if (chne(chpte1(i), chtarg1(i))) then
166 ! Error #19
167 errors(19) = .true.
168 endif
170 chtarg1(i) = 'z'
171 if (chne(chpte1(i), chtarg1(i))) then
172 ! Error #20
173 errors(20) = .true.
174 endif
176 ch8pte1(i) = 'aaaaaaaa'
177 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
178 ! Error #21
179 errors(21) = .true.
180 endif
182 ch8targ1(i) = 'zzzzzzzz'
183 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
184 ! Error #22
185 errors(22) = .true.
186 endif
188 do, j=1,m
189 dpte2(j,i)%r1=1.0
190 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
191 ! Error #23
192 errors(23) = .true.
193 endif
195 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
196 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
197 ! Error #24
198 errors(24) = .true.
199 endif
201 ipte2(j,i) = i
202 if (intne(ipte2(j,i), itarg2(j,i))) then
203 ! Error #25
204 errors(25) = .true.
205 endif
207 itarg2(j,i) = -ipte2(j,i)
208 if (intne(ipte2(j,i), itarg2(j,i))) then
209 ! Error #26
210 errors(26) = .true.
211 endif
213 rpte2(j,i) = i * (-2.0)
214 if (realne(rpte2(j,i), rtarg2(j,i))) then
215 ! Error #27
216 errors(27) = .true.
217 endif
219 rtarg2(j,i) = i * (-3.0)
220 if (realne(rpte2(j,i), rtarg2(j,i))) then
221 ! Error #28
222 errors(28) = .true.
223 endif
225 chpte2(j,i) = 'a'
226 if (chne(chpte2(j,i), chtarg2(j,i))) then
227 ! Error #29
228 errors(29) = .true.
229 endif
231 chtarg2(j,i) = 'z'
232 if (chne(chpte2(j,i), chtarg2(j,i))) then
233 ! Error #30
234 errors(30) = .true.
235 endif
237 ch8pte2(j,i) = 'aaaaaaaa'
238 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
239 ! Error #31
240 errors(31) = .true.
241 endif
243 ch8targ2(j,i) = 'zzzzzzzz'
244 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
245 ! Error #32
246 errors(32) = .true.
247 endif
248 do k=1,o
249 dpte3(k,j,i)%i2(1+mod(i,5))=i
250 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
251 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
252 ! Error #33
253 errors(33) = .true.
254 endif
256 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
257 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
258 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
259 ! Error #34
260 errors(34) = .true.
261 endif
263 ipte3(k,j,i) = i
264 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
265 ! Error #35
266 errors(35) = .true.
267 endif
269 itarg3(k,j,i) = -ipte3(k,j,i)
270 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
271 ! Error #36
272 errors(36) = .true.
273 endif
275 rpte3(k,j,i) = i * 2.0
276 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
277 ! Error #37
278 errors(37) = .true.
279 endif
281 rtarg3(k,j,i) = i * 3.0
282 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
283 ! Error #38
284 errors(38) = .true.
285 endif
287 chpte3(k,j,i) = 'a'
288 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
289 ! Error #39
290 errors(39) = .true.
291 endif
293 chtarg3(k,j,i) = 'z'
294 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
295 ! Error #40
296 errors(40) = .true.
297 endif
299 ch8pte3(k,j,i) = 'aaaaaaaa'
300 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
301 ! Error #41
302 errors(41) = .true.
303 endif
305 ch8targ3(k,j,i) = 'zzzzzzzz'
306 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
307 ! Error #42
308 errors(42) = .true.
309 endif
310 end do
311 end do
312 end do
314 rtarg3 = .5
315 ! Vector syntax
316 do, i=1,n
317 ipte3 = i
318 rpte3 = rpte3+1
319 do, j=1,m
320 do k=1,o
321 if (intne(itarg3(k,j,i), i)) then
322 ! Error #43
323 errors(43) = .true.
324 endif
326 if (realne(rtarg3(k,j,i), i+.5)) then
327 ! Error #44
328 errors(44) = .true.
329 endif
330 end do
331 end do
332 end do
334 end subroutine ptr1
337 subroutine ptr2
338 common /errors/errors(400)
339 logical :: errors, intne, realne, chne, ch8ne
340 integer :: i,j,k
341 integer, parameter :: n = 9
342 integer, parameter :: m = 10
343 integer, parameter :: o = 11
344 integer itarg1 (n)
345 integer itarg2 (m,n)
346 integer itarg3 (o,m,n)
347 real rtarg1(n)
348 real rtarg2(m,n)
349 real rtarg3(o,m,n)
350 character chtarg1(n)
351 character chtarg2(m,n)
352 character chtarg3(o,m,n)
353 character*8 ch8targ1(n)
354 character*8 ch8targ2(m,n)
355 character*8 ch8targ3(o,m,n)
356 type drvd
357 real r1
358 integer i1
359 integer i2(5)
360 end type drvd
361 type(drvd) dtarg1(n)
362 type(drvd) dtarg2(m,n)
363 type(drvd) dtarg3(o,m,n)
365 type(drvd) dpte1
366 type(drvd) dpte2
367 type(drvd) dpte3
368 integer ipte1
369 integer ipte2
370 integer ipte3
371 real rpte1
372 real rpte2
373 real rpte3
374 character chpte1
375 character chpte2
376 character chpte3
377 character*8 ch8pte1
378 character*8 ch8pte2
379 character*8 ch8pte3
381 pointer(iptr1,dpte1(n))
382 pointer(iptr2,dpte2(m,n))
383 pointer(iptr3,dpte3(o,m,n))
384 pointer(iptr4,ipte1(n))
385 pointer(iptr5,ipte2 (m,n))
386 pointer(iptr6,ipte3(o,m,n))
387 pointer(iptr7,rpte1(n))
388 pointer(iptr8,rpte2(m,n))
389 pointer(iptr9,rpte3(o,m,n))
390 pointer(iptr10,chpte1(n))
391 pointer(iptr11,chpte2(m,n))
392 pointer(iptr12,chpte3(o,m,n))
393 pointer(iptr13,ch8pte1(n))
394 pointer(iptr14,ch8pte2(m,n))
395 pointer(iptr15,ch8pte3(o,m,n))
397 iptr1 = loc(dtarg1)
398 iptr2 = loc(dtarg2)
399 iptr3 = loc(dtarg3)
400 iptr4 = loc(itarg1)
401 iptr5 = loc(itarg2)
402 iptr6 = loc(itarg3)
403 iptr7 = loc(rtarg1)
404 iptr8 = loc(rtarg2)
405 iptr9 = loc(rtarg3)
406 iptr10= loc(chtarg1)
407 iptr11= loc(chtarg2)
408 iptr12= loc(chtarg3)
409 iptr13= loc(ch8targ1)
410 iptr14= loc(ch8targ2)
411 iptr15= loc(ch8targ3)
413 do, i=1,n
414 dpte1(i)%i1=i
415 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
416 ! Error #45
417 errors(45) = .true.
418 endif
420 dtarg1(i)%i1=2*dpte1(i)%i1
421 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
422 ! Error #46
423 errors(46) = .true.
424 endif
426 ipte1(i) = i
427 if (intne(ipte1(i), itarg1(i))) then
428 ! Error #47
429 errors(47) = .true.
430 endif
432 itarg1(i) = -ipte1(i)
433 if (intne(ipte1(i), itarg1(i))) then
434 ! Error #48
435 errors(48) = .true.
436 endif
438 rpte1(i) = i * 5.0
439 if (realne(rpte1(i), rtarg1(i))) then
440 ! Error #49
441 errors(49) = .true.
442 endif
444 rtarg1(i) = i * (-5.0)
445 if (realne(rpte1(i), rtarg1(i))) then
446 ! Error #50
447 errors(50) = .true.
448 endif
450 chpte1(i) = 'a'
451 if (chne(chpte1(i), chtarg1(i))) then
452 ! Error #51
453 errors(51) = .true.
454 endif
456 chtarg1(i) = 'z'
457 if (chne(chpte1(i), chtarg1(i))) then
458 ! Error #52
459 errors(52) = .true.
460 endif
462 ch8pte1(i) = 'aaaaaaaa'
463 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
464 ! Error #53
465 errors(53) = .true.
466 endif
468 ch8targ1(i) = 'zzzzzzzz'
469 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
470 ! Error #54
471 errors(54) = .true.
472 endif
474 do, j=1,m
475 dpte2(j,i)%r1=1.0
476 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
477 ! Error #55
478 errors(55) = .true.
479 endif
481 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
482 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
483 ! Error #56
484 errors(56) = .true.
485 endif
487 ipte2(j,i) = i
488 if (intne(ipte2(j,i), itarg2(j,i))) then
489 ! Error #57
490 errors(57) = .true.
491 endif
493 itarg2(j,i) = -ipte2(j,i)
494 if (intne(ipte2(j,i), itarg2(j,i))) then
495 ! Error #58
496 errors(58) = .true.
497 endif
499 rpte2(j,i) = i * (-2.0)
500 if (realne(rpte2(j,i), rtarg2(j,i))) then
501 ! Error #59
502 errors(59) = .true.
503 endif
505 rtarg2(j,i) = i * (-3.0)
506 if (realne(rpte2(j,i), rtarg2(j,i))) then
507 ! Error #60
508 errors(60) = .true.
509 endif
511 chpte2(j,i) = 'a'
512 if (chne(chpte2(j,i), chtarg2(j,i))) then
513 ! Error #61
514 errors(61) = .true.
515 endif
517 chtarg2(j,i) = 'z'
518 if (chne(chpte2(j,i), chtarg2(j,i))) then
519 ! Error #62
520 errors(62) = .true.
521 endif
523 ch8pte2(j,i) = 'aaaaaaaa'
524 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
525 ! Error #63
526 errors(63) = .true.
527 endif
529 ch8targ2(j,i) = 'zzzzzzzz'
530 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
531 ! Error #64
532 errors(64) = .true.
533 endif
534 do k=1,o
535 dpte3(k,j,i)%i2(1+mod(i,5))=i
536 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), dtarg3(k,j,i)%i2(1+mod(i,5)))) then
537 ! Error #65
538 errors(65) = .true.
539 endif
541 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
542 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), dtarg3(k,j,i)%i2(1+mod(i,5)))) then
543 ! Error #66
544 errors(66) = .true.
545 endif
547 ipte3(k,j,i) = i
548 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
549 ! Error #67
550 errors(67) = .true.
551 endif
553 itarg3(k,j,i) = -ipte3(k,j,i)
554 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
555 ! Error #68
556 errors(68) = .true.
557 endif
559 rpte3(k,j,i) = i * 2.0
560 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
561 ! Error #69
562 errors(69) = .true.
563 endif
565 rtarg3(k,j,i) = i * 3.0
566 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
567 ! Error #70
568 errors(70) = .true.
569 endif
571 chpte3(k,j,i) = 'a'
572 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
573 ! Error #71
574 errors(71) = .true.
575 endif
577 chtarg3(k,j,i) = 'z'
578 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
579 ! Error #72
580 errors(72) = .true.
581 endif
583 ch8pte3(k,j,i) = 'aaaaaaaa'
584 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
585 ! Error #73
586 errors(73) = .true.
587 endif
589 ch8targ3(k,j,i) = 'zzzzzzzz'
590 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
591 ! Error #74
592 errors(74) = .true.
593 endif
594 end do
595 end do
596 end do
598 rtarg3 = .5
599 ! Vector syntax
600 do, i=1,n
601 ipte3 = i
602 rpte3 = rpte3+1
603 do, j=1,m
604 do k=1,o
605 if (intne(itarg3(k,j,i), i)) then
606 ! Error #75
607 errors(75) = .true.
608 endif
610 if (realne(rtarg3(k,j,i), i+.5)) then
611 ! Error #76
612 errors(76) = .true.
613 endif
614 end do
615 end do
616 end do
617 end subroutine ptr2
619 subroutine ptr3
620 common /errors/errors(400)
621 logical :: errors, intne, realne, chne, ch8ne
622 integer :: i,j,k
623 integer, parameter :: n = 9
624 integer, parameter :: m = 10
625 integer, parameter :: o = 11
626 integer itarg1 (n)
627 integer itarg2 (m,n)
628 integer itarg3 (o,m,n)
629 real rtarg1(n)
630 real rtarg2(m,n)
631 real rtarg3(o,m,n)
632 character chtarg1(n)
633 character chtarg2(m,n)
634 character chtarg3(o,m,n)
635 character*8 ch8targ1(n)
636 character*8 ch8targ2(m,n)
637 character*8 ch8targ3(o,m,n)
638 type drvd
639 real r1
640 integer i1
641 integer i2(5)
642 end type drvd
643 type(drvd) dtarg1(n)
644 type(drvd) dtarg2(m,n)
645 type(drvd) dtarg3(o,m,n)
647 pointer(iptr1,dpte1(n))
648 pointer(iptr2,dpte2(m,n))
649 pointer(iptr3,dpte3(o,m,n))
650 pointer(iptr4,ipte1(n))
651 pointer(iptr5,ipte2 (m,n))
652 pointer(iptr6,ipte3(o,m,n))
653 pointer(iptr7,rpte1(n))
654 pointer(iptr8,rpte2(m,n))
655 pointer(iptr9,rpte3(o,m,n))
656 pointer(iptr10,chpte1(n))
657 pointer(iptr11,chpte2(m,n))
658 pointer(iptr12,chpte3(o,m,n))
659 pointer(iptr13,ch8pte1(n))
660 pointer(iptr14,ch8pte2(m,n))
661 pointer(iptr15,ch8pte3(o,m,n))
663 type(drvd) dpte1
664 type(drvd) dpte2
665 type(drvd) dpte3
666 integer ipte1
667 integer ipte2
668 integer ipte3
669 real rpte1
670 real rpte2
671 real rpte3
672 character chpte1
673 character chpte2
674 character chpte3
675 character*8 ch8pte1
676 character*8 ch8pte2
677 character*8 ch8pte3
679 iptr1 = loc(dtarg1)
680 iptr2 = loc(dtarg2)
681 iptr3 = loc(dtarg3)
682 iptr4 = loc(itarg1)
683 iptr5 = loc(itarg2)
684 iptr6 = loc(itarg3)
685 iptr7 = loc(rtarg1)
686 iptr8 = loc(rtarg2)
687 iptr9 = loc(rtarg3)
688 iptr10= loc(chtarg1)
689 iptr11= loc(chtarg2)
690 iptr12= loc(chtarg3)
691 iptr13= loc(ch8targ1)
692 iptr14= loc(ch8targ2)
693 iptr15= loc(ch8targ3)
695 do, i=1,n
696 dpte1(i)%i1=i
697 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
698 ! Error #77
699 errors(77) = .true.
700 endif
702 dtarg1(i)%i1=2*dpte1(i)%i1
703 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
704 ! Error #78
705 errors(78) = .true.
706 endif
708 ipte1(i) = i
709 if (intne(ipte1(i), itarg1(i))) then
710 ! Error #79
711 errors(79) = .true.
712 endif
714 itarg1(i) = -ipte1(i)
715 if (intne(ipte1(i), itarg1(i))) then
716 ! Error #80
717 errors(80) = .true.
718 endif
720 rpte1(i) = i * 5.0
721 if (realne(rpte1(i), rtarg1(i))) then
722 ! Error #81
723 errors(81) = .true.
724 endif
726 rtarg1(i) = i * (-5.0)
727 if (realne(rpte1(i), rtarg1(i))) then
728 ! Error #82
729 errors(82) = .true.
730 endif
732 chpte1(i) = 'a'
733 if (chne(chpte1(i), chtarg1(i))) then
734 ! Error #83
735 errors(83) = .true.
736 endif
738 chtarg1(i) = 'z'
739 if (chne(chpte1(i), chtarg1(i))) then
740 ! Error #84
741 errors(84) = .true.
742 endif
744 ch8pte1(i) = 'aaaaaaaa'
745 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
746 ! Error #85
747 errors(85) = .true.
748 endif
750 ch8targ1(i) = 'zzzzzzzz'
751 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
752 ! Error #86
753 errors(86) = .true.
754 endif
756 do, j=1,m
757 dpte2(j,i)%r1=1.0
758 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
759 ! Error #87
760 errors(87) = .true.
761 endif
763 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
764 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
765 ! Error #88
766 errors(88) = .true.
767 endif
769 ipte2(j,i) = i
770 if (intne(ipte2(j,i), itarg2(j,i))) then
771 ! Error #89
772 errors(89) = .true.
773 endif
775 itarg2(j,i) = -ipte2(j,i)
776 if (intne(ipte2(j,i), itarg2(j,i))) then
777 ! Error #90
778 errors(90) = .true.
779 endif
781 rpte2(j,i) = i * (-2.0)
782 if (realne(rpte2(j,i), rtarg2(j,i))) then
783 ! Error #91
784 errors(91) = .true.
785 endif
787 rtarg2(j,i) = i * (-3.0)
788 if (realne(rpte2(j,i), rtarg2(j,i))) then
789 ! Error #92
790 errors(92) = .true.
791 endif
793 chpte2(j,i) = 'a'
794 if (chne(chpte2(j,i), chtarg2(j,i))) then
795 ! Error #93
796 errors(93) = .true.
797 endif
799 chtarg2(j,i) = 'z'
800 if (chne(chpte2(j,i), chtarg2(j,i))) then
801 ! Error #94
802 errors(94) = .true.
803 endif
805 ch8pte2(j,i) = 'aaaaaaaa'
806 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
807 ! Error #95
808 errors(95) = .true.
809 endif
811 ch8targ2(j,i) = 'zzzzzzzz'
812 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
813 ! Error #96
814 errors(96) = .true.
815 endif
816 do k=1,o
817 dpte3(k,j,i)%i2(1+mod(i,5))=i
818 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
819 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
820 ! Error #97
821 errors(97) = .true.
822 endif
824 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
825 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
826 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
827 ! Error #98
828 errors(98) = .true.
829 endif
831 ipte3(k,j,i) = i
832 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
833 ! Error #99
834 errors(99) = .true.
835 endif
837 itarg3(k,j,i) = -ipte3(k,j,i)
838 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
839 ! Error #100
840 errors(100) = .true.
841 endif
843 rpte3(k,j,i) = i * 2.0
844 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
845 ! Error #101
846 errors(101) = .true.
847 endif
849 rtarg3(k,j,i) = i * 3.0
850 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
851 ! Error #102
852 errors(102) = .true.
853 endif
855 chpte3(k,j,i) = 'a'
856 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
857 ! Error #103
858 errors(103) = .true.
859 endif
861 chtarg3(k,j,i) = 'z'
862 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
863 ! Error #104
864 errors(104) = .true.
865 endif
867 ch8pte3(k,j,i) = 'aaaaaaaa'
868 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
869 ! Error #105
870 errors(105) = .true.
871 endif
873 ch8targ3(k,j,i) = 'zzzzzzzz'
874 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
875 ! Error #106
876 errors(106) = .true.
877 endif
878 end do
879 end do
880 end do
882 rtarg3 = .5
883 ! Vector syntax
884 do, i=1,n
885 ipte3 = i
886 rpte3 = rpte3+1
887 do, j=1,m
888 do k=1,o
889 if (intne(itarg3(k,j,i), i)) then
890 ! Error #107
891 errors(107) = .true.
892 endif
894 if (realne(rtarg3(k,j,i), i+.5)) then
895 ! Error #108
896 errors(108) = .true.
897 endif
898 end do
899 end do
900 end do
901 end subroutine ptr3
903 subroutine ptr4
904 common /errors/errors(400)
905 logical :: errors, intne, realne, chne, ch8ne
906 integer :: i,j,k
907 integer, parameter :: n = 9
908 integer, parameter :: m = 10
909 integer, parameter :: o = 11
910 integer itarg1 (n)
911 integer itarg2 (m,n)
912 integer itarg3 (o,m,n)
913 real rtarg1(n)
914 real rtarg2(m,n)
915 real rtarg3(o,m,n)
916 character chtarg1(n)
917 character chtarg2(m,n)
918 character chtarg3(o,m,n)
919 character*8 ch8targ1(n)
920 character*8 ch8targ2(m,n)
921 character*8 ch8targ3(o,m,n)
922 type drvd
923 real r1
924 integer i1
925 integer i2(5)
926 end type drvd
927 type(drvd) dtarg1(n)
928 type(drvd) dtarg2(m,n)
929 type(drvd) dtarg3(o,m,n)
931 pointer(iptr1,dpte1),(iptr2,dpte2),(iptr3,dpte3)
932 pointer (iptr4,ipte1), (iptr5,ipte2) ,(iptr6,ipte3),(iptr7,rpte1)
933 pointer(iptr8,rpte2)
934 pointer(iptr9,rpte3),(iptr10,chpte1)
935 pointer(iptr11,chpte2),(iptr12,chpte3),(iptr13,ch8pte1)
936 pointer(iptr14,ch8pte2)
937 pointer(iptr15,ch8pte3)
939 type(drvd) dpte1(n)
940 type(drvd) dpte2(m,n)
941 type(drvd) dpte3(o,m,n)
942 integer ipte1 (n)
943 integer ipte2 (m,n)
944 integer ipte3 (o,m,n)
945 real rpte1(n)
946 real rpte2(m,n)
947 real rpte3(o,m,n)
948 character chpte1(n)
949 character chpte2(m,n)
950 character chpte3(o,m,n)
951 character*8 ch8pte1(n)
952 character*8 ch8pte2(m,n)
953 character*8 ch8pte3(o,m,n)
955 iptr1 = loc(dtarg1)
956 iptr2 = loc(dtarg2)
957 iptr3 = loc(dtarg3)
958 iptr4 = loc(itarg1)
959 iptr5 = loc(itarg2)
960 iptr6 = loc(itarg3)
961 iptr7 = loc(rtarg1)
962 iptr8 = loc(rtarg2)
963 iptr9 = loc(rtarg3)
964 iptr10= loc(chtarg1)
965 iptr11= loc(chtarg2)
966 iptr12= loc(chtarg3)
967 iptr13= loc(ch8targ1)
968 iptr14= loc(ch8targ2)
969 iptr15= loc(ch8targ3)
972 do, i=1,n
973 dpte1(i)%i1=i
974 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
975 ! Error #109
976 errors(109) = .true.
977 endif
979 dtarg1(i)%i1=2*dpte1(i)%i1
980 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
981 ! Error #110
982 errors(110) = .true.
983 endif
985 ipte1(i) = i
986 if (intne(ipte1(i), itarg1(i))) then
987 ! Error #111
988 errors(111) = .true.
989 endif
991 itarg1(i) = -ipte1(i)
992 if (intne(ipte1(i), itarg1(i))) then
993 ! Error #112
994 errors(112) = .true.
995 endif
997 rpte1(i) = i * 5.0
998 if (realne(rpte1(i), rtarg1(i))) then
999 ! Error #113
1000 errors(113) = .true.
1001 endif
1003 rtarg1(i) = i * (-5.0)
1004 if (realne(rpte1(i), rtarg1(i))) then
1005 ! Error #114
1006 errors(114) = .true.
1007 endif
1009 chpte1(i) = 'a'
1010 if (chne(chpte1(i), chtarg1(i))) then
1011 ! Error #115
1012 errors(115) = .true.
1013 endif
1015 chtarg1(i) = 'z'
1016 if (chne(chpte1(i), chtarg1(i))) then
1017 ! Error #116
1018 errors(116) = .true.
1019 endif
1021 ch8pte1(i) = 'aaaaaaaa'
1022 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1023 ! Error #117
1024 errors(117) = .true.
1025 endif
1027 ch8targ1(i) = 'zzzzzzzz'
1028 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1029 ! Error #118
1030 errors(118) = .true.
1031 endif
1033 do, j=1,m
1034 dpte2(j,i)%r1=1.0
1035 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1036 ! Error #119
1037 errors(119) = .true.
1038 endif
1040 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
1041 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1042 ! Error #120
1043 errors(120) = .true.
1044 endif
1046 ipte2(j,i) = i
1047 if (intne(ipte2(j,i), itarg2(j,i))) then
1048 ! Error #121
1049 errors(121) = .true.
1050 endif
1052 itarg2(j,i) = -ipte2(j,i)
1053 if (intne(ipte2(j,i), itarg2(j,i))) then
1054 ! Error #122
1055 errors(122) = .true.
1056 endif
1058 rpte2(j,i) = i * (-2.0)
1059 if (realne(rpte2(j,i), rtarg2(j,i))) then
1060 ! Error #123
1061 errors(123) = .true.
1062 endif
1064 rtarg2(j,i) = i * (-3.0)
1065 if (realne(rpte2(j,i), rtarg2(j,i))) then
1066 ! Error #124
1067 errors(124) = .true.
1068 endif
1070 chpte2(j,i) = 'a'
1071 if (chne(chpte2(j,i), chtarg2(j,i))) then
1072 ! Error #125
1073 errors(125) = .true.
1074 endif
1076 chtarg2(j,i) = 'z'
1077 if (chne(chpte2(j,i), chtarg2(j,i))) then
1078 ! Error #126
1079 errors(126) = .true.
1080 endif
1082 ch8pte2(j,i) = 'aaaaaaaa'
1083 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1084 ! Error #127
1085 errors(127) = .true.
1086 endif
1088 ch8targ2(j,i) = 'zzzzzzzz'
1089 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1090 ! Error #128
1091 errors(128) = .true.
1092 endif
1093 do k=1,o
1094 dpte3(k,j,i)%i2(1+mod(i,5))=i
1095 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1096 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1097 ! Error #129
1098 errors(129) = .true.
1099 endif
1101 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
1102 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1103 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1104 ! Error #130
1105 errors(130) = .true.
1106 endif
1108 ipte3(k,j,i) = i
1109 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1110 ! Error #131
1111 errors(131) = .true.
1112 endif
1114 itarg3(k,j,i) = -ipte3(k,j,i)
1115 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1116 ! Error #132
1117 errors(132) = .true.
1118 endif
1120 rpte3(k,j,i) = i * 2.0
1121 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1122 ! Error #133
1123 errors(133) = .true.
1124 endif
1126 rtarg3(k,j,i) = i * 3.0
1127 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1128 ! Error #134
1129 errors(134) = .true.
1130 endif
1132 chpte3(k,j,i) = 'a'
1133 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1134 ! Error #135
1135 errors(135) = .true.
1136 endif
1138 chtarg3(k,j,i) = 'z'
1139 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1140 ! Error #136
1141 errors(136) = .true.
1142 endif
1144 ch8pte3(k,j,i) = 'aaaaaaaa'
1145 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1146 ! Error #137
1147 errors(137) = .true.
1148 endif
1150 ch8targ3(k,j,i) = 'zzzzzzzz'
1151 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1152 ! Error #138
1153 errors(138) = .true.
1154 endif
1155 end do
1156 end do
1157 end do
1159 rtarg3 = .5
1160 ! Vector syntax
1161 do, i=1,n
1162 ipte3 = i
1163 rpte3 = rpte3+1
1164 do, j=1,m
1165 do k=1,o
1166 if (intne(itarg3(k,j,i), i)) then
1167 ! Error #139
1168 errors(139) = .true.
1169 endif
1171 if (realne(rtarg3(k,j,i), i+.5)) then
1172 ! Error #140
1173 errors(140) = .true.
1174 endif
1175 end do
1176 end do
1177 end do
1179 end subroutine ptr4
1181 subroutine ptr5
1182 common /errors/errors(400)
1183 logical :: errors, intne, realne, chne, ch8ne
1184 integer :: i,j,k
1185 integer, parameter :: n = 9
1186 integer, parameter :: m = 10
1187 integer, parameter :: o = 11
1188 integer itarg1 (n)
1189 integer itarg2 (m,n)
1190 integer itarg3 (o,m,n)
1191 real rtarg1(n)
1192 real rtarg2(m,n)
1193 real rtarg3(o,m,n)
1194 character chtarg1(n)
1195 character chtarg2(m,n)
1196 character chtarg3(o,m,n)
1197 character*8 ch8targ1(n)
1198 character*8 ch8targ2(m,n)
1199 character*8 ch8targ3(o,m,n)
1200 type drvd
1201 real r1
1202 integer i1
1203 integer i2(5)
1204 end type drvd
1205 type(drvd) dtarg1(n)
1206 type(drvd) dtarg2(m,n)
1207 type(drvd) dtarg3(o,m,n)
1209 type(drvd) dpte1(*)
1210 type(drvd) dpte2(m,*)
1211 type(drvd) dpte3(o,m,*)
1212 integer ipte1 (*)
1213 integer ipte2 (m,*)
1214 integer ipte3 (o,m,*)
1215 real rpte1(*)
1216 real rpte2(m,*)
1217 real rpte3(o,m,*)
1218 character chpte1(*)
1219 character chpte2(m,*)
1220 character chpte3(o,m,*)
1221 character*8 ch8pte1(*)
1222 character*8 ch8pte2(m,*)
1223 character*8 ch8pte3(o,m,*)
1225 pointer(iptr1,dpte1)
1226 pointer(iptr2,dpte2)
1227 pointer(iptr3,dpte3)
1228 pointer(iptr4,ipte1)
1229 pointer(iptr5,ipte2)
1230 pointer(iptr6,ipte3)
1231 pointer(iptr7,rpte1)
1232 pointer(iptr8,rpte2)
1233 pointer(iptr9,rpte3)
1234 pointer(iptr10,chpte1)
1235 pointer(iptr11,chpte2)
1236 pointer(iptr12,chpte3)
1237 pointer(iptr13,ch8pte1)
1238 pointer(iptr14,ch8pte2)
1239 pointer(iptr15,ch8pte3)
1241 iptr1 = loc(dtarg1)
1242 iptr2 = loc(dtarg2)
1243 iptr3 = loc(dtarg3)
1244 iptr4 = loc(itarg1)
1245 iptr5 = loc(itarg2)
1246 iptr6 = loc(itarg3)
1247 iptr7 = loc(rtarg1)
1248 iptr8 = loc(rtarg2)
1249 iptr9 = loc(rtarg3)
1250 iptr10= loc(chtarg1)
1251 iptr11= loc(chtarg2)
1252 iptr12= loc(chtarg3)
1253 iptr13= loc(ch8targ1)
1254 iptr14= loc(ch8targ2)
1255 iptr15= loc(ch8targ3)
1258 do, i=1,n
1259 dpte1(i)%i1=i
1260 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1261 ! Error #141
1262 errors(141) = .true.
1263 endif
1265 dtarg1(i)%i1=2*dpte1(i)%i1
1266 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1267 ! Error #142
1268 errors(142) = .true.
1269 endif
1271 ipte1(i) = i
1272 if (intne(ipte1(i), itarg1(i))) then
1273 ! Error #143
1274 errors(143) = .true.
1275 endif
1277 itarg1(i) = -ipte1(i)
1278 if (intne(ipte1(i), itarg1(i))) then
1279 ! Error #144
1280 errors(144) = .true.
1281 endif
1283 rpte1(i) = i * 5.0
1284 if (realne(rpte1(i), rtarg1(i))) then
1285 ! Error #145
1286 errors(145) = .true.
1287 endif
1289 rtarg1(i) = i * (-5.0)
1290 if (realne(rpte1(i), rtarg1(i))) then
1291 ! Error #146
1292 errors(146) = .true.
1293 endif
1295 chpte1(i) = 'a'
1296 if (chne(chpte1(i), chtarg1(i))) then
1297 ! Error #147
1298 errors(147) = .true.
1299 endif
1301 chtarg1(i) = 'z'
1302 if (chne(chpte1(i), chtarg1(i))) then
1303 ! Error #148
1304 errors(148) = .true.
1305 endif
1307 ch8pte1(i) = 'aaaaaaaa'
1308 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1309 ! Error #149
1310 errors(149) = .true.
1311 endif
1313 ch8targ1(i) = 'zzzzzzzz'
1314 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1315 ! Error #150
1316 errors(150) = .true.
1317 endif
1319 do, j=1,m
1320 dpte2(j,i)%r1=1.0
1321 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1322 ! Error #151
1323 errors(151) = .true.
1324 endif
1326 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
1327 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1328 ! Error #152
1329 errors(152) = .true.
1330 endif
1332 ipte2(j,i) = i
1333 if (intne(ipte2(j,i), itarg2(j,i))) then
1334 ! Error #153
1335 errors(153) = .true.
1336 endif
1338 itarg2(j,i) = -ipte2(j,i)
1339 if (intne(ipte2(j,i), itarg2(j,i))) then
1340 ! Error #154
1341 errors(154) = .true.
1342 endif
1344 rpte2(j,i) = i * (-2.0)
1345 if (realne(rpte2(j,i), rtarg2(j,i))) then
1346 ! Error #155
1347 errors(155) = .true.
1348 endif
1350 rtarg2(j,i) = i * (-3.0)
1351 if (realne(rpte2(j,i), rtarg2(j,i))) then
1352 ! Error #156
1353 errors(156) = .true.
1354 endif
1356 chpte2(j,i) = 'a'
1357 if (chne(chpte2(j,i), chtarg2(j,i))) then
1358 ! Error #157
1359 errors(157) = .true.
1360 endif
1362 chtarg2(j,i) = 'z'
1363 if (chne(chpte2(j,i), chtarg2(j,i))) then
1364 ! Error #158
1365 errors(158) = .true.
1366 endif
1368 ch8pte2(j,i) = 'aaaaaaaa'
1369 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1370 ! Error #159
1371 errors(159) = .true.
1372 endif
1374 ch8targ2(j,i) = 'zzzzzzzz'
1375 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1376 ! Error #160
1377 errors(160) = .true.
1378 endif
1379 do k=1,o
1380 dpte3(k,j,i)%i2(1+mod(i,5))=i
1381 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1382 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1383 ! Error #161
1384 errors(161) = .true.
1385 endif
1387 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
1388 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1389 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1390 ! Error #162
1391 errors(162) = .true.
1392 endif
1394 ipte3(k,j,i) = i
1395 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1396 ! Error #163
1397 errors(163) = .true.
1398 endif
1400 itarg3(k,j,i) = -ipte3(k,j,i)
1401 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1402 ! Error #164
1403 errors(164) = .true.
1404 endif
1406 rpte3(k,j,i) = i * 2.0
1407 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1408 ! Error #165
1409 errors(165) = .true.
1410 endif
1412 rtarg3(k,j,i) = i * 3.0
1413 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1414 ! Error #166
1415 errors(166) = .true.
1416 endif
1418 chpte3(k,j,i) = 'a'
1419 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1420 ! Error #167
1421 errors(167) = .true.
1422 endif
1424 chtarg3(k,j,i) = 'z'
1425 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1426 ! Error #168
1427 errors(168) = .true.
1428 endif
1430 ch8pte3(k,j,i) = 'aaaaaaaa'
1431 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1432 ! Error #169
1433 errors(169) = .true.
1434 endif
1436 ch8targ3(k,j,i) = 'zzzzzzzz'
1437 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1438 ! Error #170
1439 errors(170) = .true.
1440 endif
1441 end do
1442 end do
1443 end do
1445 end subroutine ptr5
1448 subroutine ptr6
1449 common /errors/errors(400)
1450 logical :: errors, intne, realne, chne, ch8ne
1451 integer :: i,j,k
1452 integer, parameter :: n = 9
1453 integer, parameter :: m = 10
1454 integer, parameter :: o = 11
1455 integer itarg1 (n)
1456 integer itarg2 (m,n)
1457 integer itarg3 (o,m,n)
1458 real rtarg1(n)
1459 real rtarg2(m,n)
1460 real rtarg3(o,m,n)
1461 character chtarg1(n)
1462 character chtarg2(m,n)
1463 character chtarg3(o,m,n)
1464 character*8 ch8targ1(n)
1465 character*8 ch8targ2(m,n)
1466 character*8 ch8targ3(o,m,n)
1467 type drvd
1468 real r1
1469 integer i1
1470 integer i2(5)
1471 end type drvd
1472 type(drvd) dtarg1(n)
1473 type(drvd) dtarg2(m,n)
1474 type(drvd) dtarg3(o,m,n)
1476 type(drvd) dpte1
1477 type(drvd) dpte2
1478 type(drvd) dpte3
1479 integer ipte1
1480 integer ipte2
1481 integer ipte3
1482 real rpte1
1483 real rpte2
1484 real rpte3
1485 character chpte1
1486 character chpte2
1487 character chpte3
1488 character*8 ch8pte1
1489 character*8 ch8pte2
1490 character*8 ch8pte3
1492 pointer(iptr1,dpte1(*))
1493 pointer(iptr2,dpte2(m,*))
1494 pointer(iptr3,dpte3(o,m,*))
1495 pointer(iptr4,ipte1(*))
1496 pointer(iptr5,ipte2 (m,*))
1497 pointer(iptr6,ipte3(o,m,*))
1498 pointer(iptr7,rpte1(*))
1499 pointer(iptr8,rpte2(m,*))
1500 pointer(iptr9,rpte3(o,m,*))
1501 pointer(iptr10,chpte1(*))
1502 pointer(iptr11,chpte2(m,*))
1503 pointer(iptr12,chpte3(o,m,*))
1504 pointer(iptr13,ch8pte1(*))
1505 pointer(iptr14,ch8pte2(m,*))
1506 pointer(iptr15,ch8pte3(o,m,*))
1508 iptr1 = loc(dtarg1)
1509 iptr2 = loc(dtarg2)
1510 iptr3 = loc(dtarg3)
1511 iptr4 = loc(itarg1)
1512 iptr5 = loc(itarg2)
1513 iptr6 = loc(itarg3)
1514 iptr7 = loc(rtarg1)
1515 iptr8 = loc(rtarg2)
1516 iptr9 = loc(rtarg3)
1517 iptr10= loc(chtarg1)
1518 iptr11= loc(chtarg2)
1519 iptr12= loc(chtarg3)
1520 iptr13= loc(ch8targ1)
1521 iptr14= loc(ch8targ2)
1522 iptr15= loc(ch8targ3)
1524 do, i=1,n
1525 dpte1(i)%i1=i
1526 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1527 ! Error #171
1528 errors(171) = .true.
1529 endif
1531 dtarg1(i)%i1=2*dpte1(i)%i1
1532 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1533 ! Error #172
1534 errors(172) = .true.
1535 endif
1537 ipte1(i) = i
1538 if (intne(ipte1(i), itarg1(i))) then
1539 ! Error #173
1540 errors(173) = .true.
1541 endif
1543 itarg1(i) = -ipte1(i)
1544 if (intne(ipte1(i), itarg1(i))) then
1545 ! Error #174
1546 errors(174) = .true.
1547 endif
1549 rpte1(i) = i * 5.0
1550 if (realne(rpte1(i), rtarg1(i))) then
1551 ! Error #175
1552 errors(175) = .true.
1553 endif
1555 rtarg1(i) = i * (-5.0)
1556 if (realne(rpte1(i), rtarg1(i))) then
1557 ! Error #176
1558 errors(176) = .true.
1559 endif
1561 chpte1(i) = 'a'
1562 if (chne(chpte1(i), chtarg1(i))) then
1563 ! Error #177
1564 errors(177) = .true.
1565 endif
1567 chtarg1(i) = 'z'
1568 if (chne(chpte1(i), chtarg1(i))) then
1569 ! Error #178
1570 errors(178) = .true.
1571 endif
1573 ch8pte1(i) = 'aaaaaaaa'
1574 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1575 ! Error #179
1576 errors(179) = .true.
1577 endif
1579 ch8targ1(i) = 'zzzzzzzz'
1580 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1581 ! Error #180
1582 errors(180) = .true.
1583 endif
1585 do, j=1,m
1586 dpte2(j,i)%r1=1.0
1587 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1588 ! Error #181
1589 errors(181) = .true.
1590 endif
1592 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
1593 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1594 ! Error #182
1595 errors(182) = .true.
1596 endif
1598 ipte2(j,i) = i
1599 if (intne(ipte2(j,i), itarg2(j,i))) then
1600 ! Error #183
1601 errors(183) = .true.
1602 endif
1604 itarg2(j,i) = -ipte2(j,i)
1605 if (intne(ipte2(j,i), itarg2(j,i))) then
1606 ! Error #184
1607 errors(184) = .true.
1608 endif
1610 rpte2(j,i) = i * (-2.0)
1611 if (realne(rpte2(j,i), rtarg2(j,i))) then
1612 ! Error #185
1613 errors(185) = .true.
1614 endif
1616 rtarg2(j,i) = i * (-3.0)
1617 if (realne(rpte2(j,i), rtarg2(j,i))) then
1618 ! Error #186
1619 errors(186) = .true.
1620 endif
1622 chpte2(j,i) = 'a'
1623 if (chne(chpte2(j,i), chtarg2(j,i))) then
1624 ! Error #187
1625 errors(187) = .true.
1626 endif
1628 chtarg2(j,i) = 'z'
1629 if (chne(chpte2(j,i), chtarg2(j,i))) then
1630 ! Error #188
1631 errors(188) = .true.
1632 endif
1634 ch8pte2(j,i) = 'aaaaaaaa'
1635 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1636 ! Error #189
1637 errors(189) = .true.
1638 endif
1640 ch8targ2(j,i) = 'zzzzzzzz'
1641 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1642 ! Error #190
1643 errors(190) = .true.
1644 endif
1645 do k=1,o
1646 dpte3(k,j,i)%i2(1+mod(i,5))=i
1647 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1648 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1649 ! Error #191
1650 errors(191) = .true.
1651 endif
1653 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
1654 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1655 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1656 ! Error #192
1657 errors(192) = .true.
1658 endif
1660 ipte3(k,j,i) = i
1661 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1662 ! Error #193
1663 errors(193) = .true.
1664 endif
1666 itarg3(k,j,i) = -ipte3(k,j,i)
1667 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1668 ! Error #194
1669 errors(194) = .true.
1670 endif
1672 rpte3(k,j,i) = i * 2.0
1673 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1674 ! Error #195
1675 errors(195) = .true.
1676 endif
1678 rtarg3(k,j,i) = i * 3.0
1679 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1680 ! Error #196
1681 errors(196) = .true.
1682 endif
1684 chpte3(k,j,i) = 'a'
1685 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1686 ! Error #197
1687 errors(197) = .true.
1688 endif
1690 chtarg3(k,j,i) = 'z'
1691 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1692 ! Error #198
1693 errors(198) = .true.
1694 endif
1696 ch8pte3(k,j,i) = 'aaaaaaaa'
1697 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1698 ! Error #199
1699 errors(199) = .true.
1700 endif
1702 ch8targ3(k,j,i) = 'zzzzzzzz'
1703 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1704 ! Error #200
1705 errors(200) = .true.
1706 endif
1707 end do
1708 end do
1709 end do
1711 end subroutine ptr6
1713 subroutine ptr7
1714 common /errors/errors(400)
1715 logical :: errors, intne, realne, chne, ch8ne
1716 integer :: i,j,k
1717 integer, parameter :: n = 9
1718 integer, parameter :: m = 10
1719 integer, parameter :: o = 11
1720 integer itarg1 (n)
1721 integer itarg2 (m,n)
1722 integer itarg3 (o,m,n)
1723 real rtarg1(n)
1724 real rtarg2(m,n)
1725 real rtarg3(o,m,n)
1726 character chtarg1(n)
1727 character chtarg2(m,n)
1728 character chtarg3(o,m,n)
1729 character*8 ch8targ1(n)
1730 character*8 ch8targ2(m,n)
1731 character*8 ch8targ3(o,m,n)
1732 type drvd
1733 real r1
1734 integer i1
1735 integer i2(5)
1736 end type drvd
1737 type(drvd) dtarg1(n)
1738 type(drvd) dtarg2(m,n)
1739 type(drvd) dtarg3(o,m,n)
1741 pointer(iptr1,dpte1(*))
1742 pointer(iptr2,dpte2(m,*))
1743 pointer(iptr3,dpte3(o,m,*))
1744 pointer(iptr4,ipte1(*))
1745 pointer(iptr5,ipte2 (m,*))
1746 pointer(iptr6,ipte3(o,m,*))
1747 pointer(iptr7,rpte1(*))
1748 pointer(iptr8,rpte2(m,*))
1749 pointer(iptr9,rpte3(o,m,*))
1750 pointer(iptr10,chpte1(*))
1751 pointer(iptr11,chpte2(m,*))
1752 pointer(iptr12,chpte3(o,m,*))
1753 pointer(iptr13,ch8pte1(*))
1754 pointer(iptr14,ch8pte2(m,*))
1755 pointer(iptr15,ch8pte3(o,m,*))
1757 type(drvd) dpte1
1758 type(drvd) dpte2
1759 type(drvd) dpte3
1760 integer ipte1
1761 integer ipte2
1762 integer ipte3
1763 real rpte1
1764 real rpte2
1765 real rpte3
1766 character chpte1
1767 character chpte2
1768 character chpte3
1769 character*8 ch8pte1
1770 character*8 ch8pte2
1771 character*8 ch8pte3
1773 iptr1 = loc(dtarg1)
1774 iptr2 = loc(dtarg2)
1775 iptr3 = loc(dtarg3)
1776 iptr4 = loc(itarg1)
1777 iptr5 = loc(itarg2)
1778 iptr6 = loc(itarg3)
1779 iptr7 = loc(rtarg1)
1780 iptr8 = loc(rtarg2)
1781 iptr9 = loc(rtarg3)
1782 iptr10= loc(chtarg1)
1783 iptr11= loc(chtarg2)
1784 iptr12= loc(chtarg3)
1785 iptr13= loc(ch8targ1)
1786 iptr14= loc(ch8targ2)
1787 iptr15= loc(ch8targ3)
1789 do, i=1,n
1790 dpte1(i)%i1=i
1791 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1792 ! Error #201
1793 errors(201) = .true.
1794 endif
1796 dtarg1(i)%i1=2*dpte1(i)%i1
1797 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
1798 ! Error #202
1799 errors(202) = .true.
1800 endif
1802 ipte1(i) = i
1803 if (intne(ipte1(i), itarg1(i))) then
1804 ! Error #203
1805 errors(203) = .true.
1806 endif
1808 itarg1(i) = -ipte1(i)
1809 if (intne(ipte1(i), itarg1(i))) then
1810 ! Error #204
1811 errors(204) = .true.
1812 endif
1814 rpte1(i) = i * 5.0
1815 if (realne(rpte1(i), rtarg1(i))) then
1816 ! Error #205
1817 errors(205) = .true.
1818 endif
1820 rtarg1(i) = i * (-5.0)
1821 if (realne(rpte1(i), rtarg1(i))) then
1822 ! Error #206
1823 errors(206) = .true.
1824 endif
1826 chpte1(i) = 'a'
1827 if (chne(chpte1(i), chtarg1(i))) then
1828 ! Error #207
1829 errors(207) = .true.
1830 endif
1832 chtarg1(i) = 'z'
1833 if (chne(chpte1(i), chtarg1(i))) then
1834 ! Error #208
1835 errors(208) = .true.
1836 endif
1838 ch8pte1(i) = 'aaaaaaaa'
1839 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1840 ! Error #209
1841 errors(209) = .true.
1842 endif
1844 ch8targ1(i) = 'zzzzzzzz'
1845 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
1846 ! Error #210
1847 errors(210) = .true.
1848 endif
1850 do, j=1,m
1851 dpte2(j,i)%r1=1.0
1852 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1853 ! Error #211
1854 errors(211) = .true.
1855 endif
1857 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
1858 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
1859 ! Error #212
1860 errors(212) = .true.
1861 endif
1863 ipte2(j,i) = i
1864 if (intne(ipte2(j,i), itarg2(j,i))) then
1865 ! Error #213
1866 errors(213) = .true.
1867 endif
1869 itarg2(j,i) = -ipte2(j,i)
1870 if (intne(ipte2(j,i), itarg2(j,i))) then
1871 ! Error #214
1872 errors(214) = .true.
1873 endif
1875 rpte2(j,i) = i * (-2.0)
1876 if (realne(rpte2(j,i), rtarg2(j,i))) then
1877 ! Error #215
1878 errors(215) = .true.
1879 endif
1881 rtarg2(j,i) = i * (-3.0)
1882 if (realne(rpte2(j,i), rtarg2(j,i))) then
1883 ! Error #216
1884 errors(216) = .true.
1885 endif
1887 chpte2(j,i) = 'a'
1888 if (chne(chpte2(j,i), chtarg2(j,i))) then
1889 ! Error #217
1890 errors(217) = .true.
1891 endif
1893 chtarg2(j,i) = 'z'
1894 if (chne(chpte2(j,i), chtarg2(j,i))) then
1895 ! Error #218
1896 errors(218) = .true.
1897 endif
1899 ch8pte2(j,i) = 'aaaaaaaa'
1900 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1901 ! Error #219
1902 errors(219) = .true.
1903 endif
1905 ch8targ2(j,i) = 'zzzzzzzz'
1906 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
1907 ! Error #220
1908 errors(220) = .true.
1909 endif
1910 do k=1,o
1911 dpte3(k,j,i)%i2(1+mod(i,5))=i
1912 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1913 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1914 ! Error #221
1915 errors(221) = .true.
1916 endif
1918 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
1919 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
1920 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
1921 ! Error #222
1922 errors(222) = .true.
1923 endif
1925 ipte3(k,j,i) = i
1926 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1927 ! Error #223
1928 errors(223) = .true.
1929 endif
1931 itarg3(k,j,i) = -ipte3(k,j,i)
1932 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
1933 ! Error #224
1934 errors(224) = .true.
1935 endif
1937 rpte3(k,j,i) = i * 2.0
1938 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1939 ! Error #225
1940 errors(225) = .true.
1941 endif
1943 rtarg3(k,j,i) = i * 3.0
1944 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
1945 ! Error #226
1946 errors(226) = .true.
1947 endif
1949 chpte3(k,j,i) = 'a'
1950 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1951 ! Error #227
1952 errors(227) = .true.
1953 endif
1955 chtarg3(k,j,i) = 'z'
1956 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
1957 ! Error #228
1958 errors(228) = .true.
1959 endif
1961 ch8pte3(k,j,i) = 'aaaaaaaa'
1962 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1963 ! Error #229
1964 errors(229) = .true.
1965 endif
1967 ch8targ3(k,j,i) = 'zzzzzzzz'
1968 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
1969 ! Error #230
1970 errors(230) = .true.
1971 endif
1972 end do
1973 end do
1974 end do
1976 end subroutine ptr7
1978 subroutine ptr8
1979 common /errors/errors(400)
1980 logical :: errors, intne, realne, chne, ch8ne
1981 integer :: i,j,k
1982 integer, parameter :: n = 9
1983 integer, parameter :: m = 10
1984 integer, parameter :: o = 11
1985 integer itarg1 (n)
1986 integer itarg2 (m,n)
1987 integer itarg3 (o,m,n)
1988 real rtarg1(n)
1989 real rtarg2(m,n)
1990 real rtarg3(o,m,n)
1991 character chtarg1(n)
1992 character chtarg2(m,n)
1993 character chtarg3(o,m,n)
1994 character*8 ch8targ1(n)
1995 character*8 ch8targ2(m,n)
1996 character*8 ch8targ3(o,m,n)
1997 type drvd
1998 real r1
1999 integer i1
2000 integer i2(5)
2001 end type drvd
2002 type(drvd) dtarg1(n)
2003 type(drvd) dtarg2(m,n)
2004 type(drvd) dtarg3(o,m,n)
2006 pointer(iptr1,dpte1)
2007 pointer(iptr2,dpte2)
2008 pointer(iptr3,dpte3)
2009 pointer(iptr4,ipte1)
2010 pointer(iptr5,ipte2)
2011 pointer(iptr6,ipte3)
2012 pointer(iptr7,rpte1)
2013 pointer(iptr8,rpte2)
2014 pointer(iptr9,rpte3)
2015 pointer(iptr10,chpte1)
2016 pointer(iptr11,chpte2)
2017 pointer(iptr12,chpte3)
2018 pointer(iptr13,ch8pte1)
2019 pointer(iptr14,ch8pte2)
2020 pointer(iptr15,ch8pte3)
2022 type(drvd) dpte1(*)
2023 type(drvd) dpte2(m,*)
2024 type(drvd) dpte3(o,m,*)
2025 integer ipte1 (*)
2026 integer ipte2 (m,*)
2027 integer ipte3 (o,m,*)
2028 real rpte1(*)
2029 real rpte2(m,*)
2030 real rpte3(o,m,*)
2031 character chpte1(*)
2032 character chpte2(m,*)
2033 character chpte3(o,m,*)
2034 character*8 ch8pte1(*)
2035 character*8 ch8pte2(m,*)
2036 character*8 ch8pte3(o,m,*)
2038 iptr1 = loc(dtarg1)
2039 iptr2 = loc(dtarg2)
2040 iptr3 = loc(dtarg3)
2041 iptr4 = loc(itarg1)
2042 iptr5 = loc(itarg2)
2043 iptr6 = loc(itarg3)
2044 iptr7 = loc(rtarg1)
2045 iptr8 = loc(rtarg2)
2046 iptr9 = loc(rtarg3)
2047 iptr10= loc(chtarg1)
2048 iptr11= loc(chtarg2)
2049 iptr12= loc(chtarg3)
2050 iptr13= loc(ch8targ1)
2051 iptr14= loc(ch8targ2)
2052 iptr15= loc(ch8targ3)
2055 do, i=1,n
2056 dpte1(i)%i1=i
2057 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2058 ! Error #231
2059 errors(231) = .true.
2060 endif
2062 dtarg1(i)%i1=2*dpte1(i)%i1
2063 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2064 ! Error #232
2065 errors(232) = .true.
2066 endif
2068 ipte1(i) = i
2069 if (intne(ipte1(i), itarg1(i))) then
2070 ! Error #233
2071 errors(233) = .true.
2072 endif
2074 itarg1(i) = -ipte1(i)
2075 if (intne(ipte1(i), itarg1(i))) then
2076 ! Error #234
2077 errors(234) = .true.
2078 endif
2080 rpte1(i) = i * 5.0
2081 if (realne(rpte1(i), rtarg1(i))) then
2082 ! Error #235
2083 errors(235) = .true.
2084 endif
2086 rtarg1(i) = i * (-5.0)
2087 if (realne(rpte1(i), rtarg1(i))) then
2088 ! Error #236
2089 errors(236) = .true.
2090 endif
2092 chpte1(i) = 'a'
2093 if (chne(chpte1(i), chtarg1(i))) then
2094 ! Error #237
2095 errors(237) = .true.
2096 endif
2098 chtarg1(i) = 'z'
2099 if (chne(chpte1(i), chtarg1(i))) then
2100 ! Error #238
2101 errors(238) = .true.
2102 endif
2104 ch8pte1(i) = 'aaaaaaaa'
2105 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2106 ! Error #239
2107 errors(239) = .true.
2108 endif
2110 ch8targ1(i) = 'zzzzzzzz'
2111 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2112 ! Error #240
2113 errors(240) = .true.
2114 endif
2116 do, j=1,m
2117 dpte2(j,i)%r1=1.0
2118 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2119 ! Error #241
2120 errors(241) = .true.
2121 endif
2123 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
2124 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2125 ! Error #242
2126 errors(242) = .true.
2127 endif
2129 ipte2(j,i) = i
2130 if (intne(ipte2(j,i), itarg2(j,i))) then
2131 ! Error #243
2132 errors(243) = .true.
2133 endif
2135 itarg2(j,i) = -ipte2(j,i)
2136 if (intne(ipte2(j,i), itarg2(j,i))) then
2137 ! Error #244
2138 errors(244) = .true.
2139 endif
2141 rpte2(j,i) = i * (-2.0)
2142 if (realne(rpte2(j,i), rtarg2(j,i))) then
2143 ! Error #245
2144 errors(245) = .true.
2145 endif
2147 rtarg2(j,i) = i * (-3.0)
2148 if (realne(rpte2(j,i), rtarg2(j,i))) then
2149 ! Error #246
2150 errors(246) = .true.
2151 endif
2153 chpte2(j,i) = 'a'
2154 if (chne(chpte2(j,i), chtarg2(j,i))) then
2155 ! Error #247
2156 errors(247) = .true.
2157 endif
2159 chtarg2(j,i) = 'z'
2160 if (chne(chpte2(j,i), chtarg2(j,i))) then
2161 ! Error #248
2162 errors(248) = .true.
2163 endif
2165 ch8pte2(j,i) = 'aaaaaaaa'
2166 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2167 ! Error #249
2168 errors(249) = .true.
2169 endif
2171 ch8targ2(j,i) = 'zzzzzzzz'
2172 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2173 ! Error #250
2174 errors(250) = .true.
2175 endif
2176 do k=1,o
2177 dpte3(k,j,i)%i2(1+mod(i,5))=i
2178 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2179 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2180 ! Error #251
2181 errors(251) = .true.
2182 endif
2184 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
2185 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2186 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2187 ! Error #252
2188 errors(252) = .true.
2189 endif
2191 ipte3(k,j,i) = i
2192 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2193 ! Error #253
2194 errors(253) = .true.
2195 endif
2197 itarg3(k,j,i) = -ipte3(k,j,i)
2198 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2199 ! Error #254
2200 errors(254) = .true.
2201 endif
2203 rpte3(k,j,i) = i * 2.0
2204 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2205 ! Error #255
2206 errors(255) = .true.
2207 endif
2209 rtarg3(k,j,i) = i * 3.0
2210 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2211 ! Error #256
2212 errors(256) = .true.
2213 endif
2215 chpte3(k,j,i) = 'a'
2216 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2217 ! Error #257
2218 errors(257) = .true.
2219 endif
2221 chtarg3(k,j,i) = 'z'
2222 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2223 ! Error #258
2224 errors(258) = .true.
2225 endif
2227 ch8pte3(k,j,i) = 'aaaaaaaa'
2228 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2229 ! Error #259
2230 errors(259) = .true.
2231 endif
2233 ch8targ3(k,j,i) = 'zzzzzzzz'
2234 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2235 ! Error #260
2236 errors(260) = .true.
2237 endif
2238 end do
2239 end do
2240 end do
2241 end subroutine ptr8
2244 subroutine ptr9(nnn,mmm,ooo)
2245 common /errors/errors(400)
2246 logical :: errors, intne, realne, chne, ch8ne
2247 integer :: i,j,k
2248 integer :: nnn,mmm,ooo
2249 integer, parameter :: n = 9
2250 integer, parameter :: m = 10
2251 integer, parameter :: o = 11
2252 integer itarg1 (n)
2253 integer itarg2 (m,n)
2254 integer itarg3 (o,m,n)
2255 real rtarg1(n)
2256 real rtarg2(m,n)
2257 real rtarg3(o,m,n)
2258 character chtarg1(n)
2259 character chtarg2(m,n)
2260 character chtarg3(o,m,n)
2261 character*8 ch8targ1(n)
2262 character*8 ch8targ2(m,n)
2263 character*8 ch8targ3(o,m,n)
2264 type drvd
2265 real r1
2266 integer i1
2267 integer i2(5)
2268 end type drvd
2269 type(drvd) dtarg1(n)
2270 type(drvd) dtarg2(m,n)
2271 type(drvd) dtarg3(o,m,n)
2273 type(drvd) dpte1(nnn)
2274 type(drvd) dpte2(mmm,nnn)
2275 type(drvd) dpte3(ooo,mmm,nnn)
2276 integer ipte1 (nnn)
2277 integer ipte2 (mmm,nnn)
2278 integer ipte3 (ooo,mmm,nnn)
2279 real rpte1(nnn)
2280 real rpte2(mmm,nnn)
2281 real rpte3(ooo,mmm,nnn)
2282 character chpte1(nnn)
2283 character chpte2(mmm,nnn)
2284 character chpte3(ooo,mmm,nnn)
2285 character*8 ch8pte1(nnn)
2286 character*8 ch8pte2(mmm,nnn)
2287 character*8 ch8pte3(ooo,mmm,nnn)
2289 pointer(iptr1,dpte1)
2290 pointer(iptr2,dpte2)
2291 pointer(iptr3,dpte3)
2292 pointer(iptr4,ipte1)
2293 pointer(iptr5,ipte2)
2294 pointer(iptr6,ipte3)
2295 pointer(iptr7,rpte1)
2296 pointer(iptr8,rpte2)
2297 pointer(iptr9,rpte3)
2298 pointer(iptr10,chpte1)
2299 pointer(iptr11,chpte2)
2300 pointer(iptr12,chpte3)
2301 pointer(iptr13,ch8pte1)
2302 pointer(iptr14,ch8pte2)
2303 pointer(iptr15,ch8pte3)
2305 iptr1 = loc(dtarg1)
2306 iptr2 = loc(dtarg2)
2307 iptr3 = loc(dtarg3)
2308 iptr4 = loc(itarg1)
2309 iptr5 = loc(itarg2)
2310 iptr6 = loc(itarg3)
2311 iptr7 = loc(rtarg1)
2312 iptr8 = loc(rtarg2)
2313 iptr9 = loc(rtarg3)
2314 iptr10= loc(chtarg1)
2315 iptr11= loc(chtarg2)
2316 iptr12= loc(chtarg3)
2317 iptr13= loc(ch8targ1)
2318 iptr14= loc(ch8targ2)
2319 iptr15= loc(ch8targ3)
2322 do, i=1,n
2323 dpte1(i)%i1=i
2324 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2325 ! Error #261
2326 errors(261) = .true.
2327 endif
2329 dtarg1(i)%i1=2*dpte1(i)%i1
2330 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2331 ! Error #262
2332 errors(262) = .true.
2333 endif
2335 ipte1(i) = i
2336 if (intne(ipte1(i), itarg1(i))) then
2337 ! Error #263
2338 errors(263) = .true.
2339 endif
2341 itarg1(i) = -ipte1(i)
2342 if (intne(ipte1(i), itarg1(i))) then
2343 ! Error #264
2344 errors(264) = .true.
2345 endif
2347 rpte1(i) = i * 5.0
2348 if (realne(rpte1(i), rtarg1(i))) then
2349 ! Error #265
2350 errors(265) = .true.
2351 endif
2353 rtarg1(i) = i * (-5.0)
2354 if (realne(rpte1(i), rtarg1(i))) then
2355 ! Error #266
2356 errors(266) = .true.
2357 endif
2359 chpte1(i) = 'a'
2360 if (chne(chpte1(i), chtarg1(i))) then
2361 ! Error #267
2362 errors(267) = .true.
2363 endif
2365 chtarg1(i) = 'z'
2366 if (chne(chpte1(i), chtarg1(i))) then
2367 ! Error #268
2368 errors(268) = .true.
2369 endif
2371 ch8pte1(i) = 'aaaaaaaa'
2372 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2373 ! Error #269
2374 errors(269) = .true.
2375 endif
2377 ch8targ1(i) = 'zzzzzzzz'
2378 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2379 ! Error #270
2380 errors(270) = .true.
2381 endif
2383 do, j=1,m
2384 dpte2(j,i)%r1=1.0
2385 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2386 ! Error #271
2387 errors(271) = .true.
2388 endif
2390 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
2391 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2392 ! Error #272
2393 errors(272) = .true.
2394 endif
2396 ipte2(j,i) = i
2397 if (intne(ipte2(j,i), itarg2(j,i))) then
2398 ! Error #273
2399 errors(273) = .true.
2400 endif
2402 itarg2(j,i) = -ipte2(j,i)
2403 if (intne(ipte2(j,i), itarg2(j,i))) then
2404 ! Error #274
2405 errors(274) = .true.
2406 endif
2408 rpte2(j,i) = i * (-2.0)
2409 if (realne(rpte2(j,i), rtarg2(j,i))) then
2410 ! Error #275
2411 errors(275) = .true.
2412 endif
2414 rtarg2(j,i) = i * (-3.0)
2415 if (realne(rpte2(j,i), rtarg2(j,i))) then
2416 ! Error #276
2417 errors(276) = .true.
2418 endif
2420 chpte2(j,i) = 'a'
2421 if (chne(chpte2(j,i), chtarg2(j,i))) then
2422 ! Error #277
2423 errors(277) = .true.
2424 endif
2426 chtarg2(j,i) = 'z'
2427 if (chne(chpte2(j,i), chtarg2(j,i))) then
2428 ! Error #278
2429 errors(278) = .true.
2430 endif
2432 ch8pte2(j,i) = 'aaaaaaaa'
2433 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2434 ! Error #279
2435 errors(279) = .true.
2436 endif
2438 ch8targ2(j,i) = 'zzzzzzzz'
2439 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2440 ! Error #280
2441 errors(280) = .true.
2442 endif
2443 do k=1,o
2444 dpte3(k,j,i)%i2(1+mod(i,5))=i
2445 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2446 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2447 ! Error #281
2448 errors(281) = .true.
2449 endif
2451 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
2452 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2453 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2454 ! Error #282
2455 errors(282) = .true.
2456 endif
2458 ipte3(k,j,i) = i
2459 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2460 ! Error #283
2461 errors(283) = .true.
2462 endif
2464 itarg3(k,j,i) = -ipte3(k,j,i)
2465 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2466 ! Error #284
2467 errors(284) = .true.
2468 endif
2470 rpte3(k,j,i) = i * 2.0
2471 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2472 ! Error #285
2473 errors(285) = .true.
2474 endif
2476 rtarg3(k,j,i) = i * 3.0
2477 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2478 ! Error #286
2479 errors(286) = .true.
2480 endif
2482 chpte3(k,j,i) = 'a'
2483 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2484 ! Error #287
2485 errors(287) = .true.
2486 endif
2488 chtarg3(k,j,i) = 'z'
2489 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2490 ! Error #288
2491 errors(288) = .true.
2492 endif
2494 ch8pte3(k,j,i) = 'aaaaaaaa'
2495 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2496 ! Error #289
2497 errors(289) = .true.
2498 endif
2500 ch8targ3(k,j,i) = 'zzzzzzzz'
2501 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2502 ! Error #290
2503 errors(290) = .true.
2504 endif
2505 end do
2506 end do
2507 end do
2509 rtarg3 = .5
2510 ! Vector syntax
2511 do, i=1,n
2512 ipte3 = i
2513 rpte3 = rpte3+1
2514 do, j=1,m
2515 do k=1,o
2516 if (intne(itarg3(k,j,i), i)) then
2517 ! Error #291
2518 errors(291) = .true.
2519 endif
2521 if (realne(rtarg3(k,j,i), i+.5)) then
2522 ! Error #292
2523 errors(292) = .true.
2524 endif
2525 end do
2526 end do
2527 end do
2529 end subroutine ptr9
2531 subroutine ptr10(nnn,mmm,ooo)
2532 common /errors/errors(400)
2533 logical :: errors, intne, realne, chne, ch8ne
2534 integer :: i,j,k
2535 integer :: nnn,mmm,ooo
2536 integer, parameter :: n = 9
2537 integer, parameter :: m = 10
2538 integer, parameter :: o = 11
2539 integer itarg1 (n)
2540 integer itarg2 (m,n)
2541 integer itarg3 (o,m,n)
2542 real rtarg1(n)
2543 real rtarg2(m,n)
2544 real rtarg3(o,m,n)
2545 character chtarg1(n)
2546 character chtarg2(m,n)
2547 character chtarg3(o,m,n)
2548 character*8 ch8targ1(n)
2549 character*8 ch8targ2(m,n)
2550 character*8 ch8targ3(o,m,n)
2551 type drvd
2552 real r1
2553 integer i1
2554 integer i2(5)
2555 end type drvd
2556 type(drvd) dtarg1(n)
2557 type(drvd) dtarg2(m,n)
2558 type(drvd) dtarg3(o,m,n)
2560 type(drvd) dpte1
2561 type(drvd) dpte2
2562 type(drvd) dpte3
2563 integer ipte1
2564 integer ipte2
2565 integer ipte3
2566 real rpte1
2567 real rpte2
2568 real rpte3
2569 character chpte1
2570 character chpte2
2571 character chpte3
2572 character*8 ch8pte1
2573 character*8 ch8pte2
2574 character*8 ch8pte3
2576 pointer(iptr1,dpte1(nnn))
2577 pointer(iptr2,dpte2(mmm,nnn))
2578 pointer(iptr3,dpte3(ooo,mmm,nnn))
2579 pointer(iptr4,ipte1(nnn))
2580 pointer(iptr5,ipte2 (mmm,nnn))
2581 pointer(iptr6,ipte3(ooo,mmm,nnn))
2582 pointer(iptr7,rpte1(nnn))
2583 pointer(iptr8,rpte2(mmm,nnn))
2584 pointer(iptr9,rpte3(ooo,mmm,nnn))
2585 pointer(iptr10,chpte1(nnn))
2586 pointer(iptr11,chpte2(mmm,nnn))
2587 pointer(iptr12,chpte3(ooo,mmm,nnn))
2588 pointer(iptr13,ch8pte1(nnn))
2589 pointer(iptr14,ch8pte2(mmm,nnn))
2590 pointer(iptr15,ch8pte3(ooo,mmm,nnn))
2592 iptr1 = loc(dtarg1)
2593 iptr2 = loc(dtarg2)
2594 iptr3 = loc(dtarg3)
2595 iptr4 = loc(itarg1)
2596 iptr5 = loc(itarg2)
2597 iptr6 = loc(itarg3)
2598 iptr7 = loc(rtarg1)
2599 iptr8 = loc(rtarg2)
2600 iptr9 = loc(rtarg3)
2601 iptr10= loc(chtarg1)
2602 iptr11= loc(chtarg2)
2603 iptr12= loc(chtarg3)
2604 iptr13= loc(ch8targ1)
2605 iptr14= loc(ch8targ2)
2606 iptr15= loc(ch8targ3)
2608 do, i=1,n
2609 dpte1(i)%i1=i
2610 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2611 ! Error #293
2612 errors(293) = .true.
2613 endif
2615 dtarg1(i)%i1=2*dpte1(i)%i1
2616 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2617 ! Error #294
2618 errors(294) = .true.
2619 endif
2621 ipte1(i) = i
2622 if (intne(ipte1(i), itarg1(i))) then
2623 ! Error #295
2624 errors(295) = .true.
2625 endif
2627 itarg1(i) = -ipte1(i)
2628 if (intne(ipte1(i), itarg1(i))) then
2629 ! Error #296
2630 errors(296) = .true.
2631 endif
2633 rpte1(i) = i * 5.0
2634 if (realne(rpte1(i), rtarg1(i))) then
2635 ! Error #297
2636 errors(297) = .true.
2637 endif
2639 rtarg1(i) = i * (-5.0)
2640 if (realne(rpte1(i), rtarg1(i))) then
2641 ! Error #298
2642 errors(298) = .true.
2643 endif
2645 chpte1(i) = 'a'
2646 if (chne(chpte1(i), chtarg1(i))) then
2647 ! Error #299
2648 errors(299) = .true.
2649 endif
2651 chtarg1(i) = 'z'
2652 if (chne(chpte1(i), chtarg1(i))) then
2653 ! Error #300
2654 errors(300) = .true.
2655 endif
2657 ch8pte1(i) = 'aaaaaaaa'
2658 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2659 ! Error #301
2660 errors(301) = .true.
2661 endif
2663 ch8targ1(i) = 'zzzzzzzz'
2664 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2665 ! Error #302
2666 errors(302) = .true.
2667 endif
2669 do, j=1,m
2670 dpte2(j,i)%r1=1.0
2671 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2672 ! Error #303
2673 errors(303) = .true.
2674 endif
2676 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
2677 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2678 ! Error #304
2679 errors(304) = .true.
2680 endif
2682 ipte2(j,i) = i
2683 if (intne(ipte2(j,i), itarg2(j,i))) then
2684 ! Error #305
2685 errors(305) = .true.
2686 endif
2688 itarg2(j,i) = -ipte2(j,i)
2689 if (intne(ipte2(j,i), itarg2(j,i))) then
2690 ! Error #306
2691 errors(306) = .true.
2692 endif
2694 rpte2(j,i) = i * (-2.0)
2695 if (realne(rpte2(j,i), rtarg2(j,i))) then
2696 ! Error #307
2697 errors(307) = .true.
2698 endif
2700 rtarg2(j,i) = i * (-3.0)
2701 if (realne(rpte2(j,i), rtarg2(j,i))) then
2702 ! Error #308
2703 errors(308) = .true.
2704 endif
2706 chpte2(j,i) = 'a'
2707 if (chne(chpte2(j,i), chtarg2(j,i))) then
2708 ! Error #309
2709 errors(309) = .true.
2710 endif
2712 chtarg2(j,i) = 'z'
2713 if (chne(chpte2(j,i), chtarg2(j,i))) then
2714 ! Error #310
2715 errors(310) = .true.
2716 endif
2718 ch8pte2(j,i) = 'aaaaaaaa'
2719 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2720 ! Error #311
2721 errors(311) = .true.
2722 endif
2724 ch8targ2(j,i) = 'zzzzzzzz'
2725 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
2726 ! Error #312
2727 errors(312) = .true.
2728 endif
2729 do k=1,o
2730 dpte3(k,j,i)%i2(1+mod(i,5))=i
2731 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2732 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2733 ! Error #313
2734 errors(313) = .true.
2735 endif
2737 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
2738 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
2739 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
2740 ! Error #314
2741 errors(314) = .true.
2742 endif
2744 ipte3(k,j,i) = i
2745 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2746 ! Error #315
2747 errors(315) = .true.
2748 endif
2750 itarg3(k,j,i) = -ipte3(k,j,i)
2751 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
2752 ! Error #316
2753 errors(316) = .true.
2754 endif
2756 rpte3(k,j,i) = i * 2.0
2757 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2758 ! Error #317
2759 errors(317) = .true.
2760 endif
2762 rtarg3(k,j,i) = i * 3.0
2763 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
2764 ! Error #318
2765 errors(318) = .true.
2766 endif
2768 chpte3(k,j,i) = 'a'
2769 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2770 ! Error #319
2771 errors(319) = .true.
2772 endif
2774 chtarg3(k,j,i) = 'z'
2775 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
2776 ! Error #320
2777 errors(320) = .true.
2778 endif
2780 ch8pte3(k,j,i) = 'aaaaaaaa'
2781 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2782 ! Error #321
2783 errors(321) = .true.
2784 endif
2786 ch8targ3(k,j,i) = 'zzzzzzzz'
2787 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
2788 ! Error #322
2789 errors(322) = .true.
2790 endif
2791 end do
2792 end do
2793 end do
2795 rtarg3 = .5
2796 ! Vector syntax
2797 do, i=1,n
2798 ipte3 = i
2799 rpte3 = rpte3+1
2800 do, j=1,m
2801 do k=1,o
2802 if (intne(itarg3(k,j,i), i)) then
2803 ! Error #323
2804 errors(323) = .true.
2805 endif
2807 if (realne(rtarg3(k,j,i), i+.5)) then
2808 ! Error #324
2809 errors(324) = .true.
2810 endif
2811 end do
2812 end do
2813 end do
2814 end subroutine ptr10
2816 subroutine ptr11(nnn,mmm,ooo)
2817 common /errors/errors(400)
2818 logical :: errors, intne, realne, chne, ch8ne
2819 integer :: i,j,k
2820 integer :: nnn,mmm,ooo
2821 integer, parameter :: n = 9
2822 integer, parameter :: m = 10
2823 integer, parameter :: o = 11
2824 integer itarg1 (n)
2825 integer itarg2 (m,n)
2826 integer itarg3 (o,m,n)
2827 real rtarg1(n)
2828 real rtarg2(m,n)
2829 real rtarg3(o,m,n)
2830 character chtarg1(n)
2831 character chtarg2(m,n)
2832 character chtarg3(o,m,n)
2833 character*8 ch8targ1(n)
2834 character*8 ch8targ2(m,n)
2835 character*8 ch8targ3(o,m,n)
2836 type drvd
2837 real r1
2838 integer i1
2839 integer i2(5)
2840 end type drvd
2841 type(drvd) dtarg1(n)
2842 type(drvd) dtarg2(m,n)
2843 type(drvd) dtarg3(o,m,n)
2845 pointer(iptr1,dpte1(nnn))
2846 pointer(iptr2,dpte2(mmm,nnn))
2847 pointer(iptr3,dpte3(ooo,mmm,nnn))
2848 pointer(iptr4,ipte1(nnn))
2849 pointer(iptr5,ipte2 (mmm,nnn))
2850 pointer(iptr6,ipte3(ooo,mmm,nnn))
2851 pointer(iptr7,rpte1(nnn))
2852 pointer(iptr8,rpte2(mmm,nnn))
2853 pointer(iptr9,rpte3(ooo,mmm,nnn))
2854 pointer(iptr10,chpte1(nnn))
2855 pointer(iptr11,chpte2(mmm,nnn))
2856 pointer(iptr12,chpte3(ooo,mmm,nnn))
2857 pointer(iptr13,ch8pte1(nnn))
2858 pointer(iptr14,ch8pte2(mmm,nnn))
2859 pointer(iptr15,ch8pte3(ooo,mmm,nnn))
2861 type(drvd) dpte1
2862 type(drvd) dpte2
2863 type(drvd) dpte3
2864 integer ipte1
2865 integer ipte2
2866 integer ipte3
2867 real rpte1
2868 real rpte2
2869 real rpte3
2870 character chpte1
2871 character chpte2
2872 character chpte3
2873 character*8 ch8pte1
2874 character*8 ch8pte2
2875 character*8 ch8pte3
2877 iptr1 = loc(dtarg1)
2878 iptr2 = loc(dtarg2)
2879 iptr3 = loc(dtarg3)
2880 iptr4 = loc(itarg1)
2881 iptr5 = loc(itarg2)
2882 iptr6 = loc(itarg3)
2883 iptr7 = loc(rtarg1)
2884 iptr8 = loc(rtarg2)
2885 iptr9 = loc(rtarg3)
2886 iptr10= loc(chtarg1)
2887 iptr11= loc(chtarg2)
2888 iptr12= loc(chtarg3)
2889 iptr13= loc(ch8targ1)
2890 iptr14= loc(ch8targ2)
2891 iptr15= loc(ch8targ3)
2893 do, i=1,n
2894 dpte1(i)%i1=i
2895 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2896 ! Error #325
2897 errors(325) = .true.
2898 endif
2900 dtarg1(i)%i1=2*dpte1(i)%i1
2901 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
2902 ! Error #326
2903 errors(326) = .true.
2904 endif
2906 ipte1(i) = i
2907 if (intne(ipte1(i), itarg1(i))) then
2908 ! Error #327
2909 errors(327) = .true.
2910 endif
2912 itarg1(i) = -ipte1(i)
2913 if (intne(ipte1(i), itarg1(i))) then
2914 ! Error #328
2915 errors(328) = .true.
2916 endif
2918 rpte1(i) = i * 5.0
2919 if (realne(rpte1(i), rtarg1(i))) then
2920 ! Error #329
2921 errors(329) = .true.
2922 endif
2924 rtarg1(i) = i * (-5.0)
2925 if (realne(rpte1(i), rtarg1(i))) then
2926 ! Error #330
2927 errors(330) = .true.
2928 endif
2930 chpte1(i) = 'a'
2931 if (chne(chpte1(i), chtarg1(i))) then
2932 ! Error #331
2933 errors(331) = .true.
2934 endif
2936 chtarg1(i) = 'z'
2937 if (chne(chpte1(i), chtarg1(i))) then
2938 ! Error #332
2939 errors(332) = .true.
2940 endif
2942 ch8pte1(i) = 'aaaaaaaa'
2943 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2944 ! Error #333
2945 errors(333) = .true.
2946 endif
2948 ch8targ1(i) = 'zzzzzzzz'
2949 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
2950 ! Error #334
2951 errors(334) = .true.
2952 endif
2954 do, j=1,m
2955 dpte2(j,i)%r1=1.0
2956 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2957 ! Error #335
2958 errors(335) = .true.
2959 endif
2961 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
2962 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
2963 ! Error #336
2964 errors(336) = .true.
2965 endif
2967 ipte2(j,i) = i
2968 if (intne(ipte2(j,i), itarg2(j,i))) then
2969 ! Error #337
2970 errors(337) = .true.
2971 endif
2973 itarg2(j,i) = -ipte2(j,i)
2974 if (intne(ipte2(j,i), itarg2(j,i))) then
2975 ! Error #338
2976 errors(338) = .true.
2977 endif
2979 rpte2(j,i) = i * (-2.0)
2980 if (realne(rpte2(j,i), rtarg2(j,i))) then
2981 ! Error #339
2982 errors(339) = .true.
2983 endif
2985 rtarg2(j,i) = i * (-3.0)
2986 if (realne(rpte2(j,i), rtarg2(j,i))) then
2987 ! Error #340
2988 errors(340) = .true.
2989 endif
2991 chpte2(j,i) = 'a'
2992 if (chne(chpte2(j,i), chtarg2(j,i))) then
2993 ! Error #341
2994 errors(341) = .true.
2995 endif
2997 chtarg2(j,i) = 'z'
2998 if (chne(chpte2(j,i), chtarg2(j,i))) then
2999 ! Error #342
3000 errors(342) = .true.
3001 endif
3003 ch8pte2(j,i) = 'aaaaaaaa'
3004 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
3005 ! Error #343
3006 errors(343) = .true.
3007 endif
3009 ch8targ2(j,i) = 'zzzzzzzz'
3010 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
3011 ! Error #344
3012 errors(344) = .true.
3013 endif
3014 do k=1,o
3015 dpte3(k,j,i)%i2(1+mod(i,5))=i
3016 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
3017 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
3018 ! Error #345
3019 errors(345) = .true.
3020 endif
3022 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
3023 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
3024 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
3025 ! Error #346
3026 errors(346) = .true.
3027 endif
3029 ipte3(k,j,i) = i
3030 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
3031 ! Error #347
3032 errors(347) = .true.
3033 endif
3035 itarg3(k,j,i) = -ipte3(k,j,i)
3036 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
3037 ! Error #348
3038 errors(348) = .true.
3039 endif
3041 rpte3(k,j,i) = i * 2.0
3042 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
3043 ! Error #349
3044 errors(349) = .true.
3045 endif
3047 rtarg3(k,j,i) = i * 3.0
3048 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
3049 ! Error #350
3050 errors(350) = .true.
3051 endif
3053 chpte3(k,j,i) = 'a'
3054 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
3055 ! Error #351
3056 errors(351) = .true.
3057 endif
3059 chtarg3(k,j,i) = 'z'
3060 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
3061 ! Error #352
3062 errors(352) = .true.
3063 endif
3065 ch8pte3(k,j,i) = 'aaaaaaaa'
3066 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
3067 ! Error #353
3068 errors(353) = .true.
3069 endif
3071 ch8targ3(k,j,i) = 'zzzzzzzz'
3072 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
3073 ! Error #354
3074 errors(354) = .true.
3075 endif
3076 end do
3077 end do
3078 end do
3080 rtarg3 = .5
3081 ! Vector syntax
3082 do, i=1,n
3083 ipte3 = i
3084 rpte3 = rpte3+1
3085 do, j=1,m
3086 do k=1,o
3087 if (intne(itarg3(k,j,i), i)) then
3088 ! Error #355
3089 errors(355) = .true.
3090 endif
3092 if (realne(rtarg3(k,j,i), i+.5)) then
3093 ! Error #356
3094 errors(356) = .true.
3095 endif
3096 end do
3097 end do
3098 end do
3099 end subroutine ptr11
3101 subroutine ptr12(nnn,mmm,ooo)
3102 common /errors/errors(400)
3103 logical :: errors, intne, realne, chne, ch8ne
3104 integer :: i,j,k
3105 integer :: nnn,mmm,ooo
3106 integer, parameter :: n = 9
3107 integer, parameter :: m = 10
3108 integer, parameter :: o = 11
3109 integer itarg1 (n)
3110 integer itarg2 (m,n)
3111 integer itarg3 (o,m,n)
3112 real rtarg1(n)
3113 real rtarg2(m,n)
3114 real rtarg3(o,m,n)
3115 character chtarg1(n)
3116 character chtarg2(m,n)
3117 character chtarg3(o,m,n)
3118 character*8 ch8targ1(n)
3119 character*8 ch8targ2(m,n)
3120 character*8 ch8targ3(o,m,n)
3121 type drvd
3122 real r1
3123 integer i1
3124 integer i2(5)
3125 end type drvd
3126 type(drvd) dtarg1(n)
3127 type(drvd) dtarg2(m,n)
3128 type(drvd) dtarg3(o,m,n)
3130 pointer(iptr1,dpte1)
3131 pointer(iptr2,dpte2)
3132 pointer(iptr3,dpte3)
3133 pointer(iptr4,ipte1)
3134 pointer(iptr5,ipte2)
3135 pointer(iptr6,ipte3)
3136 pointer(iptr7,rpte1)
3137 pointer(iptr8,rpte2)
3138 pointer(iptr9,rpte3)
3139 pointer(iptr10,chpte1)
3140 pointer(iptr11,chpte2)
3141 pointer(iptr12,chpte3)
3142 pointer(iptr13,ch8pte1)
3143 pointer(iptr14,ch8pte2)
3144 pointer(iptr15,ch8pte3)
3146 type(drvd) dpte1(nnn)
3147 type(drvd) dpte2(mmm,nnn)
3148 type(drvd) dpte3(ooo,mmm,nnn)
3149 integer ipte1 (nnn)
3150 integer ipte2 (mmm,nnn)
3151 integer ipte3 (ooo,mmm,nnn)
3152 real rpte1(nnn)
3153 real rpte2(mmm,nnn)
3154 real rpte3(ooo,mmm,nnn)
3155 character chpte1(nnn)
3156 character chpte2(mmm,nnn)
3157 character chpte3(ooo,mmm,nnn)
3158 character*8 ch8pte1(nnn)
3159 character*8 ch8pte2(mmm,nnn)
3160 character*8 ch8pte3(ooo,mmm,nnn)
3162 iptr1 = loc(dtarg1)
3163 iptr2 = loc(dtarg2)
3164 iptr3 = loc(dtarg3)
3165 iptr4 = loc(itarg1)
3166 iptr5 = loc(itarg2)
3167 iptr6 = loc(itarg3)
3168 iptr7 = loc(rtarg1)
3169 iptr8 = loc(rtarg2)
3170 iptr9 = loc(rtarg3)
3171 iptr10= loc(chtarg1)
3172 iptr11= loc(chtarg2)
3173 iptr12= loc(chtarg3)
3174 iptr13= loc(ch8targ1)
3175 iptr14= loc(ch8targ2)
3176 iptr15= loc(ch8targ3)
3179 do, i=1,n
3180 dpte1(i)%i1=i
3181 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
3182 ! Error #357
3183 errors(357) = .true.
3184 endif
3186 dtarg1(i)%i1=2*dpte1(i)%i1
3187 if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then
3188 ! Error #358
3189 errors(358) = .true.
3190 endif
3192 ipte1(i) = i
3193 if (intne(ipte1(i), itarg1(i))) then
3194 ! Error #359
3195 errors(359) = .true.
3196 endif
3198 itarg1(i) = -ipte1(i)
3199 if (intne(ipte1(i), itarg1(i))) then
3200 ! Error #360
3201 errors(360) = .true.
3202 endif
3204 rpte1(i) = i * 5.0
3205 if (realne(rpte1(i), rtarg1(i))) then
3206 ! Error #361
3207 errors(361) = .true.
3208 endif
3210 rtarg1(i) = i * (-5.0)
3211 if (realne(rpte1(i), rtarg1(i))) then
3212 ! Error #362
3213 errors(362) = .true.
3214 endif
3216 chpte1(i) = 'a'
3217 if (chne(chpte1(i), chtarg1(i))) then
3218 ! Error #363
3219 errors(363) = .true.
3220 endif
3222 chtarg1(i) = 'z'
3223 if (chne(chpte1(i), chtarg1(i))) then
3224 ! Error #364
3225 errors(364) = .true.
3226 endif
3228 ch8pte1(i) = 'aaaaaaaa'
3229 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
3230 ! Error #365
3231 errors(365) = .true.
3232 endif
3234 ch8targ1(i) = 'zzzzzzzz'
3235 if (ch8ne(ch8pte1(i), ch8targ1(i))) then
3236 ! Error #366
3237 errors(366) = .true.
3238 endif
3240 do, j=1,m
3241 dpte2(j,i)%r1=1.0
3242 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
3243 ! Error #367
3244 errors(367) = .true.
3245 endif
3247 dtarg2(j,i)%r1=2*dpte2(j,i)%r1
3248 if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then
3249 ! Error #368
3250 errors(368) = .true.
3251 endif
3253 ipte2(j,i) = i
3254 if (intne(ipte2(j,i), itarg2(j,i))) then
3255 ! Error #369
3256 errors(369) = .true.
3257 endif
3259 itarg2(j,i) = -ipte2(j,i)
3260 if (intne(ipte2(j,i), itarg2(j,i))) then
3261 ! Error #370
3262 errors(370) = .true.
3263 endif
3265 rpte2(j,i) = i * (-2.0)
3266 if (realne(rpte2(j,i), rtarg2(j,i))) then
3267 ! Error #371
3268 errors(371) = .true.
3269 endif
3271 rtarg2(j,i) = i * (-3.0)
3272 if (realne(rpte2(j,i), rtarg2(j,i))) then
3273 ! Error #372
3274 errors(372) = .true.
3275 endif
3277 chpte2(j,i) = 'a'
3278 if (chne(chpte2(j,i), chtarg2(j,i))) then
3279 ! Error #373
3280 errors(373) = .true.
3281 endif
3283 chtarg2(j,i) = 'z'
3284 if (chne(chpte2(j,i), chtarg2(j,i))) then
3285 ! Error #374
3286 errors(374) = .true.
3287 endif
3289 ch8pte2(j,i) = 'aaaaaaaa'
3290 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
3291 ! Error #375
3292 errors(375) = .true.
3293 endif
3295 ch8targ2(j,i) = 'zzzzzzzz'
3296 if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then
3297 ! Error #376
3298 errors(376) = .true.
3299 endif
3300 do k=1,o
3301 dpte3(k,j,i)%i2(1+mod(i,5))=i
3302 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
3303 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
3304 ! Error #377
3305 errors(377) = .true.
3306 endif
3308 dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))
3309 if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &
3310 dtarg3(k,j,i)%i2(1+mod(i,5)))) then
3311 ! Error #378
3312 errors(378) = .true.
3313 endif
3315 ipte3(k,j,i) = i
3316 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
3317 ! Error #379
3318 errors(379) = .true.
3319 endif
3321 itarg3(k,j,i) = -ipte3(k,j,i)
3322 if (intne(ipte3(k,j,i), itarg3(k,j,i))) then
3323 ! Error #380
3324 errors(380) = .true.
3325 endif
3327 rpte3(k,j,i) = i * 2.0
3328 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
3329 ! Error #381
3330 errors(381) = .true.
3331 endif
3333 rtarg3(k,j,i) = i * 3.0
3334 if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then
3335 ! Error #382
3336 errors(382) = .true.
3337 endif
3339 chpte3(k,j,i) = 'a'
3340 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
3341 ! Error #383
3342 errors(383) = .true.
3343 endif
3345 chtarg3(k,j,i) = 'z'
3346 if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then
3347 ! Error #384
3348 errors(384) = .true.
3349 endif
3351 ch8pte3(k,j,i) = 'aaaaaaaa'
3352 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
3353 ! Error #385
3354 errors(385) = .true.
3355 endif
3357 ch8targ3(k,j,i) = 'zzzzzzzz'
3358 if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then
3359 ! Error #386
3360 errors(386) = .true.
3361 endif
3362 end do
3363 end do
3364 end do
3366 rtarg3 = .5
3367 ! Vector syntax
3368 do, i=1,n
3369 ipte3 = i
3370 rpte3 = rpte3+1
3371 do, j=1,m
3372 do k=1,o
3373 if (intne(itarg3(k,j,i), i)) then
3374 ! Error #387
3375 errors(387) = .true.
3376 endif
3378 if (realne(rtarg3(k,j,i), i+.5)) then
3379 ! Error #388
3380 errors(388) = .true.
3381 endif
3382 end do
3383 end do
3384 end do
3386 end subroutine ptr12
3388 ! Misc
3389 subroutine ptr13(nnn,mmm)
3390 common /errors/errors(400)
3391 logical :: errors, intne, realne, chne, ch8ne
3392 integer :: nnn,mmm
3393 integer :: i,j
3394 integer, parameter :: n = 9
3395 integer, parameter :: m = 10
3396 integer itarg1 (n)
3397 integer itarg2 (m,n)
3398 real rtarg1(n)
3399 real rtarg2(m,n)
3401 integer ipte1
3402 integer ipte2
3403 real rpte1
3404 real rpte2
3406 dimension ipte1(n)
3407 dimension rpte2(mmm,nnn)
3409 pointer(iptr4,ipte1)
3410 pointer(iptr5,ipte2)
3411 pointer(iptr7,rpte1)
3412 pointer(iptr8,rpte2)
3414 dimension ipte2(mmm,nnn)
3415 dimension rpte1(n)
3417 iptr4 = loc(itarg1)
3418 iptr5 = loc(itarg2)
3419 iptr7 = loc(rtarg1)
3420 iptr8 = loc(rtarg2)
3422 do, i=1,n
3423 ipte1(i) = i
3424 if (intne(ipte1(i), itarg1(i))) then
3425 ! Error #389
3426 errors(389) = .true.
3427 endif
3429 itarg1(i) = -ipte1(i)
3430 if (intne(ipte1(i), itarg1(i))) then
3431 ! Error #390
3432 errors(390) = .true.
3433 endif
3435 rpte1(i) = i * 5.0
3436 if (realne(rpte1(i), rtarg1(i))) then
3437 ! Error #391
3438 errors(391) = .true.
3439 endif
3441 rtarg1(i) = i * (-5.0)
3442 if (realne(rpte1(i), rtarg1(i))) then
3443 ! Error #392
3444 errors(392) = .true.
3445 endif
3447 do, j=1,m
3448 ipte2(j,i) = i
3449 if (intne(ipte2(j,i), itarg2(j,i))) then
3450 ! Error #393
3451 errors(393) = .true.
3452 endif
3454 itarg2(j,i) = -ipte2(j,i)
3455 if (intne(ipte2(j,i), itarg2(j,i))) then
3456 ! Error #394
3457 errors(394) = .true.
3458 endif
3460 rpte2(j,i) = i * (-2.0)
3461 if (realne(rpte2(j,i), rtarg2(j,i))) then
3462 ! Error #395
3463 errors(395) = .true.
3464 endif
3466 rtarg2(j,i) = i * (-3.0)
3467 if (realne(rpte2(j,i), rtarg2(j,i))) then
3468 ! Error #396
3469 errors(396) = .true.
3470 endif
3472 end do
3473 end do
3474 end subroutine ptr13
3477 ! Test the passing of pointers and pointees as parameters
3478 subroutine parmtest
3479 integer, parameter :: n = 12
3480 integer, parameter :: m = 13
3481 integer iarray(m,n)
3482 pointer (ipt,iptee)
3483 integer iptee (m,n)
3485 ipt = loc(iarray)
3486 ! write(*,*) "loc(iarray)",loc(iarray)
3487 call parmptr(ipt,iarray,n,m)
3488 ! write(*,*) "loc(iptee)",loc(iptee)
3489 call parmpte(iptee,iarray,n,m)
3490 end subroutine parmtest
3492 subroutine parmptr(ipointer,intarr,n,m)
3493 common /errors/errors(400)
3494 logical :: errors, intne
3495 integer :: n,m,i,j
3496 integer intarr(m,n)
3497 pointer (ipointer,newpte)
3498 integer newpte(m,n)
3499 ! write(*,*) "loc(newpte)",loc(newpte)
3500 ! write(*,*) "loc(intarr)",loc(intarr)
3501 ! write(*,*) "loc(newpte(1,1))",loc(newpte(1,1))
3502 ! newpte(1,1) = 101
3503 ! write(*,*) "newpte(1,1)=",newpte(1,1)
3504 ! write(*,*) "intarr(1,1)=",intarr(1,1)
3505 do, i=1,n
3506 do, j=1,m
3507 newpte(j,i) = i
3508 if (intne(newpte(j,i),intarr(j,i))) then
3509 ! Error #397
3510 errors(397) = .true.
3511 endif
3513 call donothing(newpte(j,i),intarr(j,i))
3514 intarr(j,i) = -newpte(j,i)
3515 if (intne(newpte(j,i),intarr(j,i))) then
3516 ! Error #398
3517 errors(398) = .true.
3518 endif
3519 end do
3520 end do
3521 end subroutine parmptr
3523 subroutine parmpte(pointee,intarr,n,m)
3524 common /errors/errors(400)
3525 logical :: errors, intne
3526 integer :: n,m,i,j
3527 integer pointee (m,n)
3528 integer intarr (m,n)
3529 ! write(*,*) "loc(pointee)",loc(pointee)
3530 ! write(*,*) "loc(intarr)",loc(intarr)
3531 ! write(*,*) "loc(pointee(1,1))",loc(pointee(1,1))
3532 ! pointee(1,1) = 99
3533 ! write(*,*) "pointee(1,1)=",pointee(1,1)
3534 ! write(*,*) "intarr(1,1)=",intarr(1,1)
3536 do, i=1,n
3537 do, j=1,m
3538 pointee(j,i) = i
3539 if (intne(pointee(j,i),intarr(j,i))) then
3540 ! Error #399
3541 errors(399) = .true.
3542 endif
3544 intarr(j,i) = 2*pointee(j,i)
3545 call donothing(pointee(j,i),intarr(j,i))
3546 if (intne(pointee(j,i),intarr(j,i))) then
3547 ! Error #400
3548 errors(400) = .true.
3549 endif
3550 end do
3551 end do
3552 end subroutine parmpte
3554 ! Separate function calls to break Cray pointer-indifferent optimization
3555 logical function intne(ii,jj)
3556 integer :: i,j
3557 common /foo/foo
3558 integer foo
3559 foo = foo + 1
3560 intne = ii.ne.jj
3561 if (intne) then
3562 write (*,*) ii," doesn't equal ",jj
3563 endif
3564 end function intne
3566 logical function realne(r1,r2)
3567 real :: r1, r2
3568 common /foo/foo
3569 integer foo
3570 foo = foo + 1
3571 realne = r1.ne.r2
3572 if (realne) then
3573 write (*,*) r1," doesn't equal ",r2
3574 endif
3575 end function realne
3577 logical function chne(ch1,ch2)
3578 character :: ch1, ch2
3579 common /foo/foo
3580 integer foo
3581 foo = foo + 1
3582 chne = ch1.ne.ch2
3583 if (chne) then
3584 write (*,*) ch1," doesn't equal ",ch2
3585 endif
3586 end function chne
3588 logical function ch8ne(ch1,ch2)
3589 character*8 :: ch1, ch2
3590 common /foo/foo
3591 integer foo
3592 foo = foo + 1
3593 ch8ne = ch1.ne.ch2
3594 if (ch8ne) then
3595 write (*,*) ch1," doesn't equal ",ch2
3596 endif
3597 end function ch8ne
3599 subroutine donothing(ii,jj)
3600 common/foo/foo
3601 integer :: ii,jj,foo
3602 if (foo.le.1) then
3603 foo = 1
3604 else
3605 foo = foo - 1
3606 endif
3607 if (foo.eq.0) then
3608 ii = -1
3609 jj = 1
3610 ! print *,"Test did not run correctly"
3611 call abort()
3612 endif
3613 end subroutine donothing