OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [cray_pointers_2.f90] - Blame information for rev 704

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.