OSDN Git Service

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