3 ! See also 'self-1.f90'.
6 ! { dg-additional-options "-cpp" }
8 ! { dg-additional-options "--param=openacc-kernels=decompose" }
10 ! { dg-additional-options "-fopt-info-note-omp" }
11 ! { dg-additional-options "-foffload=-fopt-info-note-omp" }
13 ! { dg-additional-options "--param=openacc-privatization=noisy" }
14 ! { dg-additional-options "-foffload=--param=openacc-privatization=noisy" }
15 ! Prune a few: uninteresting, and potentially varying depending on GCC configuration (data types):
16 ! { dg-prune-output {note: variable 'D\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} }
18 ! It's only with Tcl 8.5 (released in 2007) that "the variable 'varName'
19 ! passed to 'incr' may be unset, and in that case, it will be set to [...]",
20 ! so to maintain compatibility with earlier Tcl releases, we manually
21 ! initialize counter variables:
22 ! { dg-line l_dummy[variable c_compute 0] }
23 ! { dg-message "dummy" "" { target iN-VAl-Id } l_dummy } to avoid
24 ! "WARNING: dg-line var l_dummy defined, but not used". */
30 integer, parameter :: N
= 8
31 integer, parameter :: one
= 1
32 integer, parameter :: zero
= 0
34 real, allocatable
:: a(:), b(:)
44 !$acc parallel copyin (a(1:N)) copyout (b(1:N)) if (1 == 1) ! { dg-line l_compute[incr c_compute] }
46 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
47 !TODO Unhandled 'CONST_DECL' instances for constant argument in 'acc_on_device' call.
48 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
63 if (b(i
) .ne
. exp
) STOP 1
68 !$acc parallel if (0 == 1) ! { dg-line l_compute[incr c_compute] }
70 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
71 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
80 if (b(i
) .ne
. 17.0) STOP 2
85 !$acc parallel copyin (a(1:N)) copyout (b(1:N)) if (one == 1) ! { dg-line l_compute[incr c_compute] }
87 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
88 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
103 if (b(i
) .ne
. exp
) STOP 3
108 !$acc parallel if (zero == 1) ! { dg-line l_compute[incr c_compute] }
110 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
111 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
120 if (b(i
) .ne
. 23.0) STOP 4
125 !$acc parallel copyin (a(1:N)) copyout (b(1:N)) if (.TRUE.) ! { dg-line l_compute[incr c_compute] }
127 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
128 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
143 if (b(i
) .ne
. exp
) STOP 5
148 !$acc parallel if (.FALSE.) ! { dg-line l_compute[incr c_compute] }
150 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
151 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
160 if (b(i
) .ne
. 77.0) STOP 6
167 !$acc parallel copyin (a(1:N)) copyout (b(1:N)) if (nn == 1) ! { dg-line l_compute[incr c_compute] }
169 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
170 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
185 if (b(i
) .ne
. exp
) STOP 7
192 !$acc parallel if (nn == 1) ! { dg-line l_compute[incr c_compute] }
194 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
195 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
204 if (b(i
) .ne
. 19.0) STOP 8
211 !$acc parallel copyin (a(1:N)) copyout (b(1:N)) if ((nn + nn) > 0) ! { dg-line l_compute[incr c_compute] }
213 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
214 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
229 if (b(i
) .ne
. exp
) STOP 9
236 !$acc parallel copyin (a(1:N)) copyout (b(1:N)) if ((nn + nn) > 0) ! { dg-line l_compute[incr c_compute] }
238 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
239 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
248 if (b(i
) .ne
. 39.0) STOP 10
253 !$acc parallel copyin (a(1:N)) copyout (b(1:N)) if (-2 > 0) ! { dg-line l_compute[incr c_compute] }
255 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
256 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
265 if (b(i
) .ne
. 92.0) STOP 11
270 !$acc parallel copyin (a(1:N)) copyout (b(1:N)) if (one == 1) ! { dg-line l_compute[incr c_compute] }
272 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
273 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
288 if (b(i
) .ne
. exp
) STOP 12
293 !$acc parallel if (one == 0) ! { dg-line l_compute[incr c_compute] }
295 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
296 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
305 if (b(i
) .ne
. 88.0) STOP 13
315 call acc_copyin (a
, sizeof (a
))
316 call acc_copyin (b
, sizeof (b
))
321 !$acc update device (a(1:N), b(1:N)) if (1 == 1)
326 !$acc update host (a(1:N), b(1:N)) if (1 == 1)
329 if (a(i
) .ne
. exp
) STOP 14
330 if (b(i
) .ne
. exp2
) STOP 15
336 !$acc update device (a(1:N), b(1:N)) if (0 == 1)
341 !$acc update host (a(1:N), b(1:N)) if (1 == 1)
344 if (a(i
) .ne
. exp
) STOP 16
345 if (b(i
) .ne
. exp2
) STOP 17
351 !$acc update device (a(1:N), b(1:N)) if (1 == 1)
356 !$acc update host (a(1:N), b(1:N)) if (0 == 1)
359 if (a(i
) .ne
. 0.0) STOP 18
360 if (b(i
) .ne
. 0.0) STOP 19
364 call acc_copyout (a
, sizeof (a
))
365 call acc_copyout (b
, sizeof (b
))
371 !$acc data copyin (a(1:N)) copyout (b(1:N)) if (1 == 1)
372 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 }
374 !$acc parallel present (a(1:N))
382 if (b(i
) .ne
. 4.0) STOP 20
388 !$acc data copyin (a(1:N)) copyout (b(1:N)) if (0 == 1)
389 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: artificial} "" { target { ! openacc_host_selected } } .-1 }
392 if (acc_is_present (a
) .eqv
. .TRUE
.) STOP 21
393 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 22
401 !$acc data copyin (a(1:N)) if (1 == 1)
402 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 }
403 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: artificial} "" { target { ! openacc_host_selected } } .-2 }
406 if (acc_is_present (a
) .eqv
. .FALSE
.) STOP 23
409 !$acc data copyout (b(1:N)) if (0 == 1)
410 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 }
411 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: artificial} "" { target { ! openacc_host_selected } } .-2 }
413 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 24
415 !$acc data copyout (b(1:N)) if (1 == 1)
416 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 }
418 !$acc parallel present (a(1:N)) present (b(1:N))
427 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 25
433 if (b(1) .ne
. 18.0) STOP 26
436 !$acc enter data copyin (b(1:N)) if (0 == 1)
439 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 27
442 !$acc exit data delete (b(1:N)) if (0 == 1)
444 !$acc enter data copyin (b(1:N)) if (1 == 1)
447 if (acc_is_present (b
) .eqv
. .FALSE
.) STOP 28
450 !$acc exit data delete (b(1:N)) if (1 == 1)
453 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 29
456 !$acc enter data copyin (b(1:N)) if (zero == 1)
459 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 30
462 !$acc exit data delete (b(1:N)) if (zero == 1)
464 !$acc enter data copyin (b(1:N)) if (one == 1)
467 if (acc_is_present (b
) .eqv
. .FALSE
.) STOP 31
470 !$acc exit data delete (b(1:N)) if (one == 1)
473 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 32
476 !$acc enter data copyin (b(1:N)) if (one == 0)
479 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 33
482 !$acc exit data delete (b(1:N)) if (one == 0)
484 !$acc enter data copyin (b(1:N)) if (one == 1)
487 if (acc_is_present (b
) .eqv
. .FALSE
.) STOP 34
490 !$acc exit data delete (b(1:N)) if (one == 1)
493 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 35
498 !$acc kernels copyin (a(1:N)) copyout (b(1:N)) if (1 == 1) ! { dg-line l_compute[incr c_compute] }
499 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
500 ! { dg-note {variable 'i' made addressable} {} { target *-*-* } l_compute$c_compute } */
501 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
503 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
504 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
519 if (b(i
) .ne
. exp
) STOP 36
524 !$acc kernels if (0 == 1) ! { dg-line l_compute[incr c_compute] }
525 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
526 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
527 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
529 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
530 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
539 if (b(i
) .ne
. 17.0) STOP 37
544 !$acc kernels copyin (a(1:N)) copyout (b(1:N)) if (one == 1) ! { dg-line l_compute[incr c_compute] }
545 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
546 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
547 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
549 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
550 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
565 if (b(i
) .ne
. exp
) STOP 38
570 !$acc kernels if (zero == 1) ! { dg-line l_compute[incr c_compute] }
571 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
572 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
573 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
575 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
576 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
585 if (b(i
) .ne
. 23.0) STOP 39
590 !$acc kernels copyin (a(1:N)) copyout (b(1:N)) if (.TRUE.) ! { dg-line l_compute[incr c_compute] }
591 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
592 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
593 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
595 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
596 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
611 if (b(i
) .ne
. exp
) STOP 40
616 !$acc kernels if (.FALSE.) ! { dg-line l_compute[incr c_compute] }
617 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
618 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
619 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
621 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
622 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
631 if (b(i
) .ne
. 77.0) STOP 41
638 !$acc kernels copyin (a(1:N)) copyout (b(1:N)) if (nn == 1) ! { dg-line l_compute[incr c_compute] }
639 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
640 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
641 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
643 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
644 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
659 if (b(i
) .ne
. exp
) STOP 42
666 !$acc kernels if (nn == 1) ! { dg-line l_compute[incr c_compute] }
667 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
668 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
669 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
671 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
672 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
681 if (b(i
) .ne
. 19.0) STOP 43
688 !$acc kernels copyin (a(1:N)) copyout (b(1:N)) if ((nn + nn) > 0) ! { dg-line l_compute[incr c_compute] }
689 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
690 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
691 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
693 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
694 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
709 if (b(i
) .ne
. exp
) STOP 44
716 !$acc kernels copyin (a(1:N)) copyout (b(1:N)) if ((nn + nn) > 0) ! { dg-line l_compute[incr c_compute] }
717 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
718 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
719 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
721 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
722 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
731 if (b(i
) .ne
. 39.0) STOP 45
736 !$acc kernels copyin (a(1:N)) copyout (b(1:N)) if (-2 > 0) ! { dg-line l_compute[incr c_compute] }
737 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
738 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
739 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
741 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
742 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
751 if (b(i
) .ne
. 92.0) STOP 46
756 !$acc kernels copyin (a(1:N)) copyout (b(1:N)) if (one == 1) ! { dg-line l_compute[incr c_compute] }
757 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
758 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
759 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
761 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
762 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
777 if (b(i
) .ne
. exp
) STOP 47
782 !$acc kernels if (one == 0) ! { dg-line l_compute[incr c_compute] }
783 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
784 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
785 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
787 ! { dg-note {variable 'C\.[0-9]+' declared in block potentially has improper OpenACC privatization level: 'const_decl'} "TODO" { target *-*-* } l_compute$c_compute }
788 if (acc_on_device (acc_device_host
) .eqv
. .TRUE
.) then
797 if (b(i
) .ne
. 88.0) STOP 48
807 call acc_copyin (a
, sizeof (a
))
808 call acc_copyin (b
, sizeof (b
))
813 !$acc update device (a(1:N), b(1:N)) if (1 == 1)
818 !$acc update host (a(1:N), b(1:N)) if (1 == 1)
821 if (a(i
) .ne
. exp
) STOP 49
822 if (b(i
) .ne
. exp2
) STOP 50
828 !$acc update device (a(1:N), b(1:N)) if (0 == 1)
833 !$acc update host (a(1:N), b(1:N)) if (1 == 1)
836 if (a(i
) .ne
. exp
) STOP 51
837 if (b(i
) .ne
. exp2
) STOP 52
843 !$acc update device (a(1:N), b(1:N)) if (1 == 1)
848 !$acc update host (a(1:N), b(1:N)) if (0 == 1)
851 if (a(i
) .ne
. 0.0) STOP 53
852 if (b(i
) .ne
. 0.0) STOP 54
856 call acc_copyout (a
, sizeof (a
))
857 call acc_copyout (b
, sizeof (b
))
863 !$acc data copyin (a(1:N)) copyout (b(1:N)) if (1 == 1)
864 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 }
866 !$acc kernels present (a(1:N)) ! { dg-line l_compute[incr c_compute] }
867 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
868 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
869 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
877 if (b(i
) .ne
. 4.0) STOP 55
883 !$acc data copyin (a(1:N)) copyout (b(1:N)) if (0 == 1)
884 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: artificial} "" { target { ! openacc_host_selected } } .-1 }
887 if (acc_is_present (a
) .eqv
. .TRUE
.) STOP 56
888 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 57
896 !$acc data copyin (a(1:N)) if (1 == 1)
897 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 }
898 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: artificial} "" { target { ! openacc_host_selected } } .-2 }
901 if (acc_is_present (a
) .eqv
. .FALSE
.) STOP 58
904 !$acc data copyout (b(1:N)) if (0 == 1)
905 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 }
906 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: artificial} "" { target { ! openacc_host_selected } } .-2 }
908 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 59
910 !$acc data copyout (b(1:N)) if (1 == 1)
911 ! { dg-note {variable 'parm\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 }
913 !$acc kernels present (a(1:N)) present (b(1:N)) ! { dg-line l_compute[incr c_compute] }
914 ! { dg-note {OpenACC 'kernels' decomposition: variable 'i' in 'copy' clause requested to be made addressable} {} { target *-*-* } l_compute$c_compute }
915 ! { dg-note {variable 'i' already made addressable} {} { target *-*-* } l_compute$c_compute } */
916 ! { dg-note {beginning 'parloops' part in OpenACC 'kernels' region} "" { target *-*-* } .+1 }
925 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 60
931 if (b(1) .ne
. 18.0) STOP 61
934 !$acc enter data copyin (b(1:N)) if (0 == 1)
937 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 62
940 !$acc exit data delete (b(1:N)) if (0 == 1)
942 !$acc enter data copyin (b(1:N)) if (1 == 1)
945 if (acc_is_present (b
) .eqv
. .FALSE
.) STOP 63
948 !$acc exit data delete (b(1:N)) if (1 == 1)
951 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 64
954 !$acc enter data copyin (b(1:N)) if (zero == 1)
957 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 65
960 !$acc exit data delete (b(1:N)) if (zero == 1)
962 !$acc enter data copyin (b(1:N)) if (one == 1)
965 if (acc_is_present (b
) .eqv
. .FALSE
.) STOP 66
968 !$acc exit data delete (b(1:N)) if (one == 1)
971 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 67
974 !$acc enter data copyin (b(1:N)) if (one == 0)
977 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 68
980 !$acc exit data delete (b(1:N)) if (one == 0)
982 !$acc enter data copyin (b(1:N)) if (one == 1)
985 if (acc_is_present (b
) .eqv
. .FALSE
.) STOP 69
988 !$acc exit data delete (b(1:N)) if (one == 1)
991 if (acc_is_present (b
) .eqv
. .TRUE
.) STOP 70