offtarget 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (886) hide show
  1. offload/__init__.py +10 -0
  2. offload/__main__.py +5 -0
  3. offload/_bundle.py +74 -0
  4. offload/_root/catalog/acc/claims.yaml +197 -0
  5. offload/_root/catalog/acc/clauses.yaml +391 -0
  6. offload/_root/catalog/acc/no_oracle.yaml +89 -0
  7. offload/_root/catalog/acc/out_of_scope.yaml +17 -0
  8. offload/_root/catalog/acc/rules.yaml +433 -0
  9. offload/_root/catalog/acc/semantic_atoms.yaml +27 -0
  10. offload/_root/catalog/acc/skeleton.yaml +1567 -0
  11. offload/_root/catalog/acc/spec_overrides.yaml +72 -0
  12. offload/_root/catalog/later_forms.yaml +76 -0
  13. offload/_root/catalog/machines.yaml +218 -0
  14. offload/_root/catalog/omp/claims.yaml +2047 -0
  15. offload/_root/catalog/omp/clauses.yaml +914 -0
  16. offload/_root/catalog/omp/derivations.yaml +177 -0
  17. offload/_root/catalog/omp/memory_modes.yaml +40 -0
  18. offload/_root/catalog/omp/no_oracle.yaml +373 -0
  19. offload/_root/catalog/omp/omp50_delta.yaml +377 -0
  20. offload/_root/catalog/omp/out_of_scope.yaml +64 -0
  21. offload/_root/catalog/omp/port_equivalence.yaml +352 -0
  22. offload/_root/catalog/omp/rules.yaml +3131 -0
  23. offload/_root/catalog/omp/rules_coverage.yaml +9939 -0
  24. offload/_root/catalog/omp/semantic_atoms.yaml +34 -0
  25. offload/_root/catalog/omp/skeleton.yaml +9181 -0
  26. offload/_root/catalog/omp/spec_overrides.yaml +932 -0
  27. offload/_root/catalog/toolchains.yaml +472 -0
  28. offload/_root/catalog/vendor_claims_generic.yaml +40925 -0
  29. offload/_root/data/canuse/b.json +1 -0
  30. offload/_root/data/canuse/c.json +1 -0
  31. offload/_root/data/canuse/columns.json +1 -0
  32. offload/_root/data/canuse/d.json +1 -0
  33. offload/_root/data/canuse/f.json +1 -0
  34. offload/_root/data/canuse/index.json +1 -0
  35. offload/_root/data/canuse/p.json +1 -0
  36. offload/_root/data/compilers/afar.json +1 -0
  37. offload/_root/data/compilers/cce19.json +1 -0
  38. offload/_root/data/compilers/cce20.json +1 -0
  39. offload/_root/data/compilers/cce21.json +1 -0
  40. offload/_root/data/compilers/cce21_4.json +1 -0
  41. offload/_root/data/compilers/gcc.json +1 -0
  42. offload/_root/data/compilers/gcc_sm80.json +1 -0
  43. offload/_root/data/compilers/nvhpc.json +1 -0
  44. offload/_root/data/compilers/nvhpc269.json +1 -0
  45. offload/_root/data/findings/AUTHORING.md +107 -0
  46. offload/_root/data/findings/README.md +33 -0
  47. offload/_root/data/findings/afar-c-error-directive-in-target-link.c +37 -0
  48. offload/_root/data/findings/afar-c-lastprivate-distribute-parallel-for-small-type.c +56 -0
  49. offload/_root/data/findings/afar-c-teams-distribute-reduction-first-team.c +59 -0
  50. offload/_root/data/findings/afar-c-update-iterator-copy-mode.c +45 -0
  51. offload/_root/data/findings/afar-c-xnack1-target-is-present.c +31 -0
  52. offload/_root/data/findings/afar-cce19-character-defaultmap.f90 +27 -0
  53. offload/_root/data/findings/afar-cce19-task-in-target-ice.f90 +23 -0
  54. offload/_root/data/findings/afar-clang-requires-device-safesync-hang.c +24 -0
  55. offload/_root/data/findings/afar-flang-firstprivate-map-two-targets.f90 +34 -0
  56. offload/_root/data/findings/afar-flang-loop-bind-teams-reduction.f90 +27 -0
  57. offload/_root/data/findings/afar-flang-task-reduction-max.f90 +31 -0
  58. offload/_root/data/findings/afar-flang-thread-limit-target-parallel-do.f90 +22 -0
  59. offload/_root/data/findings/afar-linear-ref-omp50.f90 +29 -0
  60. offload/_root/data/findings/afar-loop-bind-thread-in-teams.f90 +44 -0
  61. offload/_root/data/findings/afar-nontemporal-assumed-shape-ice.f90 +38 -0
  62. offload/_root/data/findings/afar-udr-derived-type-link.f90 +41 -0
  63. offload/_root/data/findings/afar-xnack1-atomic-min-nested-parallel.f90 +53 -0
  64. offload/_root/data/findings/afar-xnack1-present-not-enforced.f90 +36 -0
  65. offload/_root/data/findings/afar-xnack1-target-is-present.f90 +47 -0
  66. offload/_root/data/findings/apps/afar-cce-teams-private-array-nested-parallel-wrong.f90 +100 -0
  67. offload/_root/data/findings/apps/cce20-device-link-infer-address-spaces-crash.f90 +159 -0
  68. offload/_root/data/findings/apps/cce21-device-link-agpr-copy-mfma-assert.f90 +343 -0
  69. offload/_root/data/findings/apps/cce21-private-array-loaded-subscript-wrong.f90 +113 -0
  70. offload/_root/data/findings/apps/controls/bubble-simple-rddot.f90 +284 -0
  71. offload/_root/data/findings/apps/controls/bubble-two-substeps.f90 +287 -0
  72. offload/_root/data/findings/apps/controls/cbc-inline.f90 +97 -0
  73. offload/_root/data/findings/apps/controls/cbc-integers.f90 +91 -0
  74. offload/_root/data/findings/apps/controls/cbc-only-density.f90 +97 -0
  75. offload/_root/data/findings/apps/controls/cbc-only-velocity.f90 +97 -0
  76. offload/_root/data/findings/apps/controls/gcc-acc-c-tile-control.c +26 -0
  77. offload/_root/data/findings/apps/controls/gcc-acc-tile-control.f90 +29 -0
  78. offload/_root/data/findings/apps/controls/private-array-subscript-probes.f90 +45 -0
  79. offload/_root/data/findings/apps/controls/teams-private-array-read-par.f90 +31 -0
  80. offload/_root/data/findings/apps/controls/teams-private-array-seq.f90 +30 -0
  81. offload/_root/data/findings/apps/controls/teams-private-array-shared.f90 +34 -0
  82. offload/_root/data/findings/apps/controls/teams-private-array-split.f90 +36 -0
  83. offload/_root/data/findings/apps/controls/teams-private-array-write-par.f90 +31 -0
  84. offload/_root/data/findings/apps/gcc-acc-c-tile-partial-tiles-wrong.c +60 -0
  85. offload/_root/data/findings/apps/gcc-acc-tile-partial-tiles-wrong.f90 +64 -0
  86. offload/_root/data/findings/catalog/afar-c-complex-reduction-link.c +66 -0
  87. offload/_root/data/findings/catalog/afar-c-critical-hint-link.c +68 -0
  88. offload/_root/data/findings/catalog/afar-c-ordered-doacross-link.c +62 -0
  89. offload/_root/data/findings/catalog/afar-c-reduction-task-link.c +81 -0
  90. offload/_root/data/findings/catalog/afar-flang-absent-optional-target-crash.f90 +76 -0
  91. offload/_root/data/findings/catalog/afar-flang-critical-target-parallel-wrong.f90 +74 -0
  92. offload/_root/data/findings/catalog/afar-flang-dist-schedule-chunk.f90 +80 -0
  93. offload/_root/data/findings/catalog/afar-flang-linear-parallel-ice.f90 +68 -0
  94. offload/_root/data/findings/catalog/afar-flang-named-critical-link.f90 +67 -0
  95. offload/_root/data/findings/catalog/afar-flang-ordered-wrong.f90 +78 -0
  96. offload/_root/data/findings/catalog/afar-flang-reduction-minus-rejected.f90 +77 -0
  97. offload/_root/data/findings/catalog/afar-flang-reduction-task-ice.f90 +68 -0
  98. offload/_root/data/findings/catalog/afar-flang-sections-in-target-ice.f90 +67 -0
  99. offload/_root/data/findings/catalog/afar-flang-workdistribute-ice.f90 +71 -0
  100. offload/_root/data/findings/catalog/c-allocate-const-mem-firstprivate-wrong.c +79 -0
  101. offload/_root/data/findings/catalog/cce-acc-allocate-in-compute-crash.f90 +65 -0
  102. offload/_root/data/findings/catalog/cce-acc-character-dummy-routine-ice.f90 +81 -0
  103. offload/_root/data/findings/catalog/cce-acc-loop-seq-in-routine-wrong.f90 +81 -0
  104. offload/_root/data/findings/catalog/cce-acc-stop-in-compute-crash.f90 +62 -0
  105. offload/_root/data/findings/catalog/cce-allocators-stack-ice.f90 +81 -0
  106. offload/_root/data/findings/catalog/cce-atomic-default-mem-order-acquire-release-rejected.f90 +61 -0
  107. offload/_root/data/findings/catalog/cce-c-allocate-align-link.c +83 -0
  108. offload/_root/data/findings/catalog/cce-c-allocate-allocator-modifier-rejected.c +77 -0
  109. offload/_root/data/findings/catalog/cce-c-device-type-directive-name-ice.c +70 -0
  110. offload/_root/data/findings/catalog/cce-c-dist-schedule-chunk.c +81 -0
  111. offload/_root/data/findings/catalog/cce-c-f-pointer-device-link.f90 +70 -0
  112. offload/_root/data/findings/catalog/cce-c-lastprivate-parallel-in-seq-loop-wrong.c +64 -0
  113. offload/_root/data/findings/catalog/cce-c-long-double-ice.c +61 -0
  114. offload/_root/data/findings/catalog/cce-c-map-iterator-ice.c +92 -0
  115. offload/_root/data/findings/catalog/cce-c-motion-iterator-rejected.c +68 -0
  116. offload/_root/data/findings/catalog/cce-c-ordered-doacross-link.c +64 -0
  117. offload/_root/data/findings/catalog/cce-c-ordered-link.c +77 -0
  118. offload/_root/data/findings/catalog/cce-c-recursive-function-ice.c +62 -0
  119. offload/_root/data/findings/catalog/cce-c-reduction-inscan-ice.c +67 -0
  120. offload/_root/data/findings/catalog/cce-c-reduction-task-link.c +73 -0
  121. offload/_root/data/findings/catalog/cce-c-sections-in-target-wrong.c +70 -0
  122. offload/_root/data/findings/catalog/cce-c-single-masked-task-link.c +66 -0
  123. offload/_root/data/findings/catalog/cce-c-task-in-target-link.c +75 -0
  124. offload/_root/data/findings/catalog/cce-c-uses-allocators-traits-rejected.c +71 -0
  125. offload/_root/data/findings/catalog/cce-flang-allocate-const-mem-ice.f90 +67 -0
  126. offload/_root/data/findings/catalog/cce-flang-allocate-in-target-crash.f90 +68 -0
  127. offload/_root/data/findings/catalog/cce-flang-lastprivate-parallel-in-seq-loop-wrong.f90 +83 -0
  128. offload/_root/data/findings/catalog/cce-flang-stop-in-target-crash.f90 +64 -0
  129. offload/_root/data/findings/catalog/cce-iterator-link.f90 +67 -0
  130. offload/_root/data/findings/catalog/cce-linear-lastprivate-ice.f90 +69 -0
  131. offload/_root/data/findings/catalog/cce-nohost-link.f90 +90 -0
  132. offload/_root/data/findings/catalog/cce-reduction-inscan-ice.f90 +66 -0
  133. offload/_root/data/findings/catalog/cce-reduction-task-link.f90 +76 -0
  134. offload/_root/data/findings/catalog/cce19-reduction-task-addrspacecast-ice.f90 +77 -0
  135. offload/_root/data/findings/catalog/cce20-c-defaultmap-private-storage-rejected.c +85 -0
  136. offload/_root/data/findings/catalog/cce20-map-self-rejected.f90 +64 -0
  137. offload/_root/data/findings/catalog/cce21-c-declare-target-local-rejected.c +73 -0
  138. offload/_root/data/findings/catalog/cce21-c-target-loop-ice.c +77 -0
  139. offload/_root/data/findings/catalog/defaultmap-present-private-array-abort.f90 +73 -0
  140. offload/_root/data/findings/catalog/nvhpc-acc-associate-illegal-address.f90 +66 -0
  141. offload/_root/data/findings/catalog/nvhpc-c-function-pointer-kernel-missing.c +68 -0
  142. offload/_root/data/findings/catalog/nvhpc-c-long-double-kernel-missing.c +64 -0
  143. offload/_root/data/findings/catalog/nvhpc-c-static-local-kernel-missing.c +73 -0
  144. offload/_root/data/findings/catalog/nvhpc-c-vla-kernel-missing.c +63 -0
  145. offload/_root/data/findings/catalog/nvhpc-flang-type-bound-kernel-missing.f90 +86 -0
  146. offload/_root/data/findings/cce-acc-init-set-runtime-assert.f90 +35 -0
  147. offload/_root/data/findings/cce-acc-reduction-200-int8-scalars-wrong.f90 +1278 -0
  148. offload/_root/data/findings/cce-acc-routine-bind-module-ice.f90 +35 -0
  149. offload/_root/data/findings/cce-acc-self-condition-ignored.f90 +17 -0
  150. offload/_root/data/findings/cce-c-dist-schedule-segv.c +34 -0
  151. offload/_root/data/findings/cce-c-map-delete-refcount.c +47 -0
  152. offload/_root/data/findings/cce-c-map-present-assert.c +45 -0
  153. offload/_root/data/findings/cce-c-openmp45-device-link.c +34 -0
  154. offload/_root/data/findings/cce-c-parallel-for-in-target.c +73 -0
  155. offload/_root/data/findings/cce-defaultmap-tofrom-explicit-map.f90 +92 -0
  156. offload/_root/data/findings/cce-mapper-next-map-copy-back.f90 +48 -0
  157. offload/_root/data/findings/cce-trim-merge-output-one-character.f90 +40 -0
  158. offload/_root/data/findings/cce-uses-allocators-traits-omp50.f90 +28 -0
  159. offload/_root/data/findings/cce19-acc-if-false-link.f90 +17 -0
  160. offload/_root/data/findings/cce19-c-reduction-63-scalars-one-wrong.c +235 -0
  161. offload/_root/data/findings/cce19-target-parallel-guarded-loop.f90 +35 -0
  162. offload/_root/data/findings/cce19-target-parallel-single-ice.f90 +38 -0
  163. offload/_root/data/findings/cce21-alloc-2e32-sum-wrong.f90 +68 -0
  164. offload/_root/data/findings/cce21-defaultmap-aggregate-flag.f90 +52 -0
  165. offload/_root/data/findings/cce21-in-reduction-assumed-shape-write-lost.f90 +61 -0
  166. offload/_root/data/findings/cce21-in-reduction-taskwait-link.f90 +59 -0
  167. offload/_root/data/findings/cce21-linear-modifier-default-none.f90 +59 -0
  168. offload/_root/data/findings/clang-c-declare-target-to-omp52.c +50 -0
  169. offload/_root/data/findings/clang-c-linear-directive-name-hang.c +30 -0
  170. offload/_root/data/findings/clang-c-map-iterator-omp51.c +51 -0
  171. offload/_root/data/findings/clang-c-shared-declare-target-combined.c +58 -0
  172. offload/_root/data/findings/dataenv/cce-value-dummy-target-write-visible.f90 +74 -0
  173. offload/_root/data/findings/defaultmap-none-loop-variable.f90 +69 -0
  174. offload/_root/data/findings/fortran-loop-bind-thread-in-parallel.f90 +53 -0
  175. offload/_root/data/findings/fortran-schedule-static-in-target.f90 +55 -0
  176. offload/_root/data/findings/fresh/cce-common-block-name-in-map-rejected.f90 +47 -0
  177. offload/_root/data/findings/fresh/cce-if-stop-in-target-ice-one-condition.f90 +38 -0
  178. offload/_root/data/findings/fresh/cce-if-stop-in-target-ice.f90 +43 -0
  179. offload/_root/data/findings/fresh/cce-list-directed-print-in-target-copy-crash.f90 +40 -0
  180. offload/_root/data/findings/fresh/cce19-acc-automatic-array-copyout-copy-crash.f90 +56 -0
  181. offload/_root/data/findings/fresh/cce21-combined-if-runtime-expr-loop-skipped.f90 +57 -0
  182. offload/_root/data/findings/fresh/nvhpc-acc-gang-worker-collapse-nested-vector-reduction-lost.f90 +67 -0
  183. offload/_root/data/findings/fresh/nvhpc-teams-loop-module-allocatable-assign-fort2-crash.f90 +73 -0
  184. offload/_root/data/findings/fuzz/1131-afar.f90 +48 -0
  185. offload/_root/data/findings/fuzz/1391-cce20.f90 +40 -0
  186. offload/_root/data/findings/fuzz/14-cce20.f90 +36 -0
  187. offload/_root/data/findings/fuzz/1505-cce20.f90 +88 -0
  188. offload/_root/data/findings/fuzz/1540-afar.f90 +44 -0
  189. offload/_root/data/findings/fuzz/158-afar.f90 +63 -0
  190. offload/_root/data/findings/fuzz/16-cce20.f90 +39 -0
  191. offload/_root/data/findings/fuzz/1644-cce21.f90 +31 -0
  192. offload/_root/data/findings/fuzz/165-cce19.f90 +52 -0
  193. offload/_root/data/findings/fuzz/1749-cce20.f90 +34 -0
  194. offload/_root/data/findings/fuzz/1936-afar.f90 +61 -0
  195. offload/_root/data/findings/fuzz/1978-cce19.f90 +41 -0
  196. offload/_root/data/findings/fuzz/2014-cce19.f90 +46 -0
  197. offload/_root/data/findings/fuzz/2224-cce19.f90 +30 -0
  198. offload/_root/data/findings/fuzz/2334-cce19.f90 +57 -0
  199. offload/_root/data/findings/fuzz/536-cce19.f90 +38 -0
  200. offload/_root/data/findings/fuzz/591-cce19.f90 +54 -0
  201. offload/_root/data/findings/fuzz/650-afar.f90 +58 -0
  202. offload/_root/data/findings/fuzz/698-afar.f90 +68 -0
  203. offload/_root/data/findings/fuzz/700-afar.f90 +46 -0
  204. offload/_root/data/findings/fuzz/775-cce21.f90 +33 -0
  205. offload/_root/data/findings/fuzz/87-afar.f90 +47 -0
  206. offload/_root/data/findings/fuzz/916-afar.f90 +67 -0
  207. offload/_root/data/findings/fuzz/958-cce20.f90 +44 -0
  208. offload/_root/data/findings/fuzz/98-cce19.f90 +40 -0
  209. offload/_root/data/findings/fuzz/README.md +236 -0
  210. offload/_root/data/findings/fuzz/b1-121-afar.f90 +47 -0
  211. offload/_root/data/findings/fuzz/b1-183-afar.f90 +55 -0
  212. offload/_root/data/findings/fuzz/b1-22-cce20.f90 +38 -0
  213. offload/_root/data/findings/fuzz/b1-231-afar.f90 +56 -0
  214. offload/_root/data/findings/fuzz/b1-268-afar.f90 +46 -0
  215. offload/_root/data/findings/fuzz/b2-183-afar.f90 +57 -0
  216. offload/_root/data/findings/fuzz/b2-209-cce19.f90 +51 -0
  217. offload/_root/data/findings/fuzz/b2-213-afar.f90 +63 -0
  218. offload/_root/data/findings/fuzz/b2-52-afar.f90 +56 -0
  219. offload/_root/data/findings/fuzz/b2-68-afar.f90 +54 -0
  220. offload/_root/data/findings/fuzz/b2-85-cce20.f90 +55 -0
  221. offload/_root/data/findings/fuzz/b3-188-cce19.f90 +90 -0
  222. offload/_root/data/findings/fuzz/b3-190-cce21.f90 +88 -0
  223. offload/_root/data/findings/fuzz/b3-197-cce19.f90 +77 -0
  224. offload/_root/data/findings/fuzz/b3-250-cce20.f90 +89 -0
  225. offload/_root/data/findings/fuzz/b3-278-cce19.f90 +70 -0
  226. offload/_root/data/findings/fuzz/b3-45-cce21.f90 +83 -0
  227. offload/_root/data/findings/fuzz/b3-54-afar.f90 +67 -0
  228. offload/_root/data/findings/fuzz/b3-61-cce20.f90 +100 -0
  229. offload/_root/data/findings/fuzz/b3-9-afar.f90 +100 -0
  230. offload/_root/data/findings/fuzz/b3-9-cce21.f90 +103 -0
  231. offload/_root/data/findings/fuzz/b3-94-afar.f90 +80 -0
  232. offload/_root/data/findings/fuzz/b4-39-afar.f90 +141 -0
  233. offload/_root/data/findings/fuzz/b4-86-cce19.f90 +71 -0
  234. offload/_root/data/findings/fuzz/controls/gcc-complex-pointer-store-control.f90 +28 -0
  235. offload/_root/data/findings/fuzz/controls/gcc-declare-reduction-module-control.f90 +29 -0
  236. offload/_root/data/findings/fuzz/controls/gcc-target-simd-map-nontemporal-control.f90 +21 -0
  237. offload/_root/data/findings/fuzz/controls/nvhpc-allocatable-component-mapped-control.f90 +22 -0
  238. offload/_root/data/findings/fuzz/controls/nvhpc-allocatable-component-unreferenced-control.f90 +22 -0
  239. offload/_root/data/findings/fuzz/controls/nvhpc-default-none-removed-control.f90 +18 -0
  240. offload/_root/data/findings/fuzz/controls/nvhpc-default-shared-control.f90 +18 -0
  241. offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-firstprivate-removed-control.f90 +15 -0
  242. offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-to-scalar-reduction-mapped-control.f90 +17 -0
  243. offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-to-scalar-removed-control.f90 +17 -0
  244. offload/_root/data/findings/fuzz/controls/nvhpc-defaultmap-tofrom-lastprivate-control.f90 +15 -0
  245. offload/_root/data/findings/fuzz/controls/nvhpc-depend-explicit-map-control.f90 +22 -0
  246. offload/_root/data/findings/fuzz/controls/nvhpc-depend-removed-control.f90 +22 -0
  247. offload/_root/data/findings/fuzz/controls/nvhpc-distribute-end-distribute-control.f90 +16 -0
  248. offload/_root/data/findings/fuzz/controls/nvhpc-distribute-parallel-num-threads-removed-control.f90 +26 -0
  249. offload/_root/data/findings/fuzz/controls/nvhpc-distribute-parallel-removed-control.f90 +22 -0
  250. offload/_root/data/findings/fuzz/controls/nvhpc-distribute-simd-no-end-directive-control.f90 +15 -0
  251. offload/_root/data/findings/fuzz/controls/nvhpc-explicit-length-character-dummy-control.f90 +18 -0
  252. offload/_root/data/findings/fuzz/controls/nvhpc-loop-character-array-value-control.f90 +23 -0
  253. offload/_root/data/findings/fuzz/controls/nvhpc-loop-character-distribute-control.f90 +20 -0
  254. offload/_root/data/findings/fuzz/controls/nvhpc-map-always-first-control.f90 +15 -0
  255. offload/_root/data/findings/fuzz/controls/nvhpc-map-always-removed-control.f90 +15 -0
  256. offload/_root/data/findings/fuzz/controls/nvhpc-num-threads-removed-control.f90 +12 -0
  257. offload/_root/data/findings/fuzz/controls/nvhpc-target-parallel-firstprivate-dropped-control.f90 +15 -0
  258. offload/_root/data/findings/fuzz/controls/nvhpc-target-parallel-single-nowait-control.f90 +13 -0
  259. offload/_root/data/findings/fuzz/controls/nvhpc-target-parallel-split-control.f90 +15 -0
  260. offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-collapse-split-control.f90 +21 -0
  261. offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-end-directive-control.f90 +14 -0
  262. offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-no-collapse-control.f90 +19 -0
  263. offload/_root/data/findings/fuzz/controls/nvhpc-target-simd-split-no-end-directive-control.f90 +15 -0
  264. offload/_root/data/findings/fuzz/gcc-declare-reduction-module-not-found.f90 +66 -0
  265. offload/_root/data/findings/fuzz/gcc-strided-target-update-rejected.f90 +58 -0
  266. offload/_root/data/findings/fuzz/gcc-target-simd-map-nontemporal-rejected.f90 +54 -0
  267. offload/_root/data/findings/fuzz/nvhpc-allocatable-component-implicit-map-illegal-address.f90 +84 -0
  268. offload/_root/data/findings/fuzz/nvhpc-assumed-length-character-dummy-map-ice.f90 +69 -0
  269. offload/_root/data/findings/fuzz/nvhpc-default-none-reduction-lastprivate-fort1-crash.f90 +70 -0
  270. offload/_root/data/findings/fuzz/nvhpc-defaultmap-firstprivate-lastprivate-ice.f90 +71 -0
  271. offload/_root/data/findings/fuzz/nvhpc-defaultmap-to-scalar-reduction-lost.f90 +82 -0
  272. offload/_root/data/findings/fuzz/nvhpc-depend-implicit-map-illegal-address.f90 +81 -0
  273. offload/_root/data/findings/fuzz/nvhpc-distribute-parallel-num-threads-writes-lost.f90 +79 -0
  274. offload/_root/data/findings/fuzz/nvhpc-end-distribute-simd-rejected.f90 +70 -0
  275. offload/_root/data/findings/fuzz/nvhpc-loop-character-achar-unsupported.f90 +75 -0
  276. offload/_root/data/findings/fuzz/nvhpc-map-always-after-map-to-not-copied-back.f90 +70 -0
  277. offload/_root/data/findings/fuzz/nvhpc-num-threads-reduction-identity-lost.f90 +54 -0
  278. offload/_root/data/findings/fuzz/nvhpc-target-parallel-firstprivate-translate-failure.f90 +66 -0
  279. offload/_root/data/findings/fuzz/nvhpc-target-parallel-single-hang.f90 +68 -0
  280. offload/_root/data/findings/fuzz/nvhpc-target-simd-collapse-translate-failure.f90 +73 -0
  281. offload/_root/data/findings/fuzz/nvhpc-target-simd-no-end-directive-rejected.f90 +68 -0
  282. offload/_root/data/findings/fuzz/par-s1-2082-gcc_g90.f90 +71 -0
  283. offload/_root/data/findings/fuzz/s1-2370-cce21.f90 +67 -0
  284. offload/_root/data/findings/fuzz/s1-2592-cce21.f90 +56 -0
  285. offload/_root/data/findings/fuzz/s1-3463-cce21.f90 +92 -0
  286. offload/_root/data/findings/fuzz/s1-4339-afar.f90 +79 -0
  287. offload/_root/data/findings/fuzz/s1-6085-cce21.f90 +96 -0
  288. offload/_root/data/findings/fuzz/s1-6760-cce20.f90 +65 -0
  289. offload/_root/data/findings/fuzz/s1-6888-cce21.f90 +76 -0
  290. offload/_root/data/findings/fuzz/s1-7882-cce20.f90 +63 -0
  291. offload/_root/data/findings/fuzz/s1-8634-cce21.f90 +45 -0
  292. offload/_root/data/findings/fuzz/s1-91-cce21.f90 +92 -0
  293. offload/_root/data/findings/fuzz/s1-9443-afar.f90 +59 -0
  294. offload/_root/data/findings/fuzz/s1-9914-cce19.f90 +78 -0
  295. offload/_root/data/findings/gcc/controls/gcc-acc-c-detach-control.c +34 -0
  296. offload/_root/data/findings/gcc/controls/gcc-acc-detach-control.f90 +26 -0
  297. offload/_root/data/findings/gcc/controls/gcc-defaultmap-to-pointer-control.f90 +31 -0
  298. offload/_root/data/findings/gcc/controls/gcc-target-in-task-control.c +26 -0
  299. offload/_root/data/findings/gcc/controls/gcc-target-in-task-control.f90 +21 -0
  300. offload/_root/data/findings/gcc/gcc-acc-bind-device-type-rejected.f90 +71 -0
  301. offload/_root/data/findings/gcc/gcc-acc-c-bind-device-type-rejected.c +76 -0
  302. offload/_root/data/findings/gcc/gcc-acc-c-detach-delete-attach-underflow.c +74 -0
  303. offload/_root/data/findings/gcc/gcc-acc-c-gang-dim-rejected.c +79 -0
  304. offload/_root/data/findings/gcc/gcc-acc-c-link-in-routine-rejected.c +82 -0
  305. offload/_root/data/findings/gcc/gcc-acc-detach-delete-attach-underflow.f90 +66 -0
  306. offload/_root/data/findings/gcc/gcc-acc-gang-dim-collapse-force-rejected.f90 +69 -0
  307. offload/_root/data/findings/gcc/gcc-acc-init-set-shutdown-rejected.f90 +70 -0
  308. offload/_root/data/findings/gcc/gcc-acc-link-in-routine-rejected.f90 +82 -0
  309. offload/_root/data/findings/gcc/gcc-acc-use-device-allocatable-rejected.f90 +88 -0
  310. offload/_root/data/findings/gcc/gcc-c-motion-mapper-rejected.c +110 -0
  311. offload/_root/data/findings/gcc/gcc-c-omp60-undocumented-rejected.c +76 -0
  312. offload/_root/data/findings/gcc/gcc-c-omp60-unimplemented-rejected.c +119 -0
  313. offload/_root/data/findings/gcc/gcc-c-target-in-task-mandatory-device-not-found.c +87 -0
  314. offload/_root/data/findings/gcc/gcc-c-uses-allocators-traits-unimplemented.c +85 -0
  315. offload/_root/data/findings/gcc/gcc-declare-mapper-rejected.f90 +85 -0
  316. offload/_root/data/findings/gcc/gcc-defaultmap-to-pointer-copy-back.f90 +66 -0
  317. offload/_root/data/findings/gcc/gcc-loop-bind-default-none-rejected.f90 +93 -0
  318. offload/_root/data/findings/gcc/gcc-omp60-undocumented-rejected.f90 +72 -0
  319. offload/_root/data/findings/gcc/gcc-omp60-unimplemented-rejected.f90 +112 -0
  320. offload/_root/data/findings/gcc/gcc-target-in-task-mandatory-device-not-found.f90 +83 -0
  321. offload/_root/data/findings/gcc/gcc-uses-allocators-traits-unimplemented.f90 +78 -0
  322. offload/_root/data/findings/harvest/afar-flang-strided-target-update.f90 +96 -0
  323. offload/_root/data/findings/harvest/cce-acc-declare-create-module-allocatable-xnack1-fault.f90 +58 -0
  324. offload/_root/data/findings/harvest/cce-c-implicit-struct-map-partly-present.c +100 -0
  325. offload/_root/data/findings/harvest/cce-c-strided-target-update.c +74 -0
  326. offload/_root/data/findings/harvest/cce-ftn-target-parallel-thread-query-ice.f90 +67 -0
  327. offload/_root/data/findings/harvest/cce-named-constant-array-declare-target-routine-rejected.f90 +69 -0
  328. offload/_root/data/findings/harvest/cce-use-device-ptr-c-ptr-not-converted.f90 +64 -0
  329. offload/_root/data/findings/harvest/cce21-declare-target-link-module-variable-write-lost.f90 +63 -0
  330. offload/_root/data/findings/harvest/cce21-internal-procedure-calls-internal-in-target-fault.f90 +71 -0
  331. offload/_root/data/findings/harvest/controls/cce-c-implicit-struct-map-partly-present-target-only-control.c +22 -0
  332. offload/_root/data/findings/harvest/controls/cce-c-implicit-struct-map-partly-present-whole-control.c +23 -0
  333. offload/_root/data/findings/harvest/controls/gcc-acc-declare-create-allocatable-control.f90 +34 -0
  334. offload/_root/data/findings/harvest/controls/gcc-c-same-item-two-maps-control.c +17 -0
  335. offload/_root/data/findings/harvest/controls/gcc-c-target-data-struct-pointer-section-control.c +27 -0
  336. offload/_root/data/findings/harvest/controls/gcc-c-target-data-two-maps-control.c +20 -0
  337. offload/_root/data/findings/harvest/controls/gcc-same-item-two-maps-control.f90 +16 -0
  338. offload/_root/data/findings/harvest/controls/gcc-teams-simd-matmul-allocatable-control.f90 +27 -0
  339. offload/_root/data/findings/harvest/gcc-acc-declare-create-allocatable-not-mapped.f90 +66 -0
  340. offload/_root/data/findings/harvest/gcc-c-same-item-two-maps-rejected.c +45 -0
  341. offload/_root/data/findings/harvest/gcc-c-strided-section-rejected.c +70 -0
  342. offload/_root/data/findings/harvest/gcc-c-target-data-struct-pointer-section-ice.c +78 -0
  343. offload/_root/data/findings/harvest/gcc-c-target-data-two-maps-ice.c +49 -0
  344. offload/_root/data/findings/harvest/gcc-same-item-two-maps-rejected.f90 +46 -0
  345. offload/_root/data/findings/harvest/gcc-teams-simd-matmul-allocatable-ice.f90 +53 -0
  346. offload/_root/data/findings/harvest/nvhpc-c-target-data-if-false-use-device-ptr-garbage.c +49 -0
  347. offload/_root/data/findings/harvest/nvhpc-named-constant-array-declare-target-routine-rejected.f90 +65 -0
  348. offload/_root/data/findings/harvest/nvhpc-use-device-ptr-c-ptr-not-found.f90 +60 -0
  349. offload/_root/data/findings/harvest/nvhpc2511-target-nowait-in-parallel-for-ice.c +59 -0
  350. offload/_root/data/findings/hecbench/controls/f16-ctl-float-array.c +28 -0
  351. offload/_root/data/findings/hecbench/controls/pc-ctl-builtin-popcount.c +37 -0
  352. offload/_root/data/findings/hecbench/controls/pc-ctl-shift-sum.c +43 -0
  353. offload/_root/data/findings/hecbench/gcc-c-float16-array-in-target-lto-ice.c +65 -0
  354. offload/_root/data/findings/hecbench/gcc-c-swar-popcount-assembler-error.c +80 -0
  355. offload/_root/data/findings/index.yaml +2453 -0
  356. offload/_root/data/findings/malloc/afar-device-malloc-in-kernel-corrupts-records.c +371 -0
  357. offload/_root/data/findings/malloc/controls/afar-first-use-malloc-direct.c +52 -0
  358. offload/_root/data/findings/malloc/controls/afar-first-use-malloc-fence.c +57 -0
  359. offload/_root/data/findings/malloc/controls/afar-first-use-malloc-flush.c +57 -0
  360. offload/_root/data/findings/malloc/controls/afar-first-use-malloc-stack.c +52 -0
  361. offload/_root/data/findings/multithread-allocatable-section-maps.f90 +91 -0
  362. offload/_root/data/findings/nested/afar-cce-c-call-result-member-in-target-rejected.c +69 -0
  363. offload/_root/data/findings/nested/afar-cce-c-update-struct-and-member-rejected.c +92 -0
  364. offload/_root/data/findings/nested/afar-flang-pointer-root-allocatable-component-enter-data-fault.f90 +121 -0
  365. offload/_root/data/findings/nested/cce-c-struct-and-nested-pointee-sections-ice.c +79 -0
  366. offload/_root/data/findings/nested/cce-fortran-nested-allocatable-component-copy-fault.f90 +64 -0
  367. offload/_root/data/findings/nested/cce-fortran-pointer-to-type-with-allocatable-scalar-component-typed-transfer.f90 +93 -0
  368. offload/_root/data/findings/nested/cce-fortran-update-to-pointer-root-allocatable-scalar-component-no-accelerator-object.f90 +80 -0
  369. offload/_root/data/findings/nested/controls/c3-ctl-nested-data.c +27 -0
  370. offload/_root/data/findings/nested/controls/c5-acc-serial-struct-and-array.c +26 -0
  371. offload/_root/data/findings/nested/controls/e2-ctl-two-directives.c +42 -0
  372. offload/_root/data/findings/nested/controls/e3-ctl-attach-clause.c +42 -0
  373. offload/_root/data/findings/nested/controls/f3-pointer-array-only.c +33 -0
  374. offload/_root/data/findings/nested/controls/f5-ctl-copyout-exit.c +33 -0
  375. offload/_root/data/findings/nested/controls/f6-ctl-pointer-to-struct-array.c +28 -0
  376. offload/_root/data/findings/nested/controls/g2-ctl-allocatable.f90 +34 -0
  377. offload/_root/data/findings/nested/controls/g2-ctl-entered-to.f90 +34 -0
  378. offload/_root/data/findings/nested/controls/g3-ctl-from-struct-no-element.c +27 -0
  379. offload/_root/data/findings/nested/controls/g3-ptrs-two-elements-to.c +27 -0
  380. offload/_root/data/findings/nested/controls/g3-ptrs-two-elements-tofrom.c +27 -0
  381. offload/_root/data/findings/nested/controls/g5-ctl-element-pointers-only.f90 +36 -0
  382. offload/_root/data/findings/nested/controls/g5-ctl-root-pointer-only.f90 +36 -0
  383. offload/_root/data/findings/nested/controls/gp2-ctl-no-mapper-explicit-maps.c +24 -0
  384. offload/_root/data/findings/nested/controls/gt2-ctl-no-always.c +26 -0
  385. offload/_root/data/findings/nested/controls/gt3-ctl-always-on-structure-only.c +26 -0
  386. offload/_root/data/findings/nested/controls/j1-embedded-struct-pointer-to-struct.c +24 -0
  387. offload/_root/data/findings/nested/controls/j2-ctl-pointer-instead-of-embedded.c +24 -0
  388. offload/_root/data/findings/nested/controls/j6-ctl-struct-and-one-pointee-level.c +23 -0
  389. offload/_root/data/findings/nested/controls/j7-ctl-struct-and-embedded-pointee.c +24 -0
  390. offload/_root/data/findings/nested/controls/m2-ctl-variable-root.f90 +32 -0
  391. offload/_root/data/findings/nested/controls/m3-ctl-fixed-array-component.f90 +32 -0
  392. offload/_root/data/findings/nested/controls/m5-ctl-no-enter-data.f90 +33 -0
  393. offload/_root/data/findings/nested/controls/n8-ctl-fixed-array-in-component.f90 +33 -0
  394. offload/_root/data/findings/nested/controls/n9-ctl-allocatable-in-the-variable.f90 +33 -0
  395. offload/_root/data/findings/nested/controls/ns4-ctl-two-directives-struct-then-pointee.c +27 -0
  396. offload/_root/data/findings/nested/controls/ns8-ctl-enter-together-exit-split.c +26 -0
  397. offload/_root/data/findings/nested/controls/nu3-ctl-update-pointee-only.c +28 -0
  398. offload/_root/data/findings/nested/controls/p2-ctl-pointer-variable.c +27 -0
  399. offload/_root/data/findings/nested/controls/p3-ctl-direct-member.c +26 -0
  400. offload/_root/data/findings/nested/controls/q2-ctl-fixed-array.f90 +37 -0
  401. offload/_root/data/findings/nested/controls/q3-ctl-allocatable-component-of-the-variable.f90 +38 -0
  402. offload/_root/data/findings/nested/controls/ta2-ctl-no-allocatable-component.f90 +42 -0
  403. offload/_root/data/findings/nested/controls/ta3-ctl-allocatable-scalar-in-the-variable.f90 +38 -0
  404. offload/_root/data/findings/nested/controls/ta4-ctl-pointer-component-only.f90 +42 -0
  405. offload/_root/data/findings/nested/controls/u3-ctl-update-member-only.c +24 -0
  406. offload/_root/data/findings/nested/controls/u4-ctl-two-updates.c +25 -0
  407. offload/_root/data/findings/nested/controls/u5-ctl-same-list-in-map.c +25 -0
  408. offload/_root/data/findings/nested/controls/ua2-ctl-variable-root.f90 +37 -0
  409. offload/_root/data/findings/nested/controls/ua4-ctl-to-in-place-of-alloc-and-update.f90 +37 -0
  410. offload/_root/data/findings/nested/controls/v2-ctl-parent-first.c +25 -0
  411. offload/_root/data/findings/nested/controls/v4-ctl-embedded-member.c +24 -0
  412. offload/_root/data/findings/nested/gcc-acc-c-exit-data-of-a-pointer-array-element-target-hangs.c +83 -0
  413. offload/_root/data/findings/nested/gcc-acc-c-parent-and-shared-pointee-one-directive.c +88 -0
  414. offload/_root/data/findings/nested/gcc-acc-c-struct-and-member-array-one-directive.c +84 -0
  415. offload/_root/data/findings/nested/gcc-c-always-on-pointer-member-section-ice.c +75 -0
  416. offload/_root/data/findings/nested/gcc-c-declare-mapper-pointer-member-section-gpu-fault.c +93 -0
  417. offload/_root/data/findings/nested/gcc-c-from-struct-and-pointee-section-rejected.c +83 -0
  418. offload/_root/data/findings/nested/gcc-fortran-pointer-component-alloc-bounds-lost.f90 +62 -0
  419. offload/_root/data/findings/nested/gcc-fortran-root-and-element-pointer-components-ice.f90 +77 -0
  420. offload/_root/data/findings/nested/nvhpc-c-pointee-before-parent-in-one-map-list-copy-fault.c +55 -0
  421. offload/_root/data/findings/nested/nvhpc-c-update-from-structure-overwrites-attached-pointer-segv.c +86 -0
  422. offload/_root/data/findings/nvhpc-acc-atomic-update-sum-fort2-crash.f90 +53 -0
  423. offload/_root/data/findings/nvhpc-c-acc-atomic-update-sum-ice.c +43 -0
  424. offload/_root/data/findings/nvhpc-c-dist-schedule-chunk-compile-hang.c +41 -0
  425. offload/_root/data/findings/nvhpc-c-map-present-ignored.c +42 -0
  426. offload/_root/data/findings/nvhpc-c-ordered-in-target-nvcpfe-crash.c +92 -0
  427. offload/_root/data/findings/nvhpc-c-parallel-for-firstprivate-in-target.c +62 -0
  428. offload/_root/data/findings/nvhpc-c-parallel-if-in-target-nvvm-ice.c +56 -0
  429. offload/_root/data/findings/nvhpc-defaultmap-firstprivate-explicit-map.f90 +45 -0
  430. offload/_root/data/findings/nvhpc-defaultmap-from-allocatable-indexing.f90 +60 -0
  431. offload/_root/data/findings/nvhpc-depend-inoutset-ignored.f90 +64 -0
  432. offload/_root/data/findings/nvhpc-dist-schedule-chunk-illegal-address.f90 +52 -0
  433. offload/_root/data/findings/nvhpc-managed-acc-shutdown-host-access.f90 +42 -0
  434. offload/_root/data/findings/nvhpc-parallel-if-in-target-nvvm-ice.f90 +60 -0
  435. offload/_root/data/findings/oop/afar-final-dealloc-device-link.f90 +85 -0
  436. offload/_root/data/findings/oop/afar-pdt-length-parameter-not-implemented.f90 +65 -0
  437. offload/_root/data/findings/oop/cce-class-is-device-link.f90 +86 -0
  438. offload/_root/data/findings/oop/cce-copy-alloc-component-section-fault.f90 +73 -0
  439. offload/_root/data/findings/oop/cce-copy-parent-to-component-tofrom-lost.f90 +65 -0
  440. offload/_root/data/findings/oop/cce-copy-second-member-section-lost.f90 +65 -0
  441. offload/_root/data/findings/oop/cce-element-component-map-lost.f90 +64 -0
  442. offload/_root/data/findings/oop/cce-final-dealloc-device-abort.f90 +85 -0
  443. offload/_root/data/findings/oop/cce-pdt-default-mapper-rejected.f90 +71 -0
  444. offload/_root/data/findings/oop/cce-polymorphic-dispatch-device-link.f90 +100 -0
  445. offload/_root/data/findings/oop/cce-section-of-element-component-overlap.f90 +76 -0
  446. offload/_root/data/findings/oop/cce-select-type-guard-not-taken.f90 +91 -0
  447. offload/_root/data/findings/oop/cce-udr-derived-type-unsupported.f90 +69 -0
  448. offload/_root/data/findings/oop/cce21-element-component-map-lost.f90 +62 -0
  449. offload/_root/data/findings/oop/controls/alloccomp-comp-only.f90 +44 -0
  450. offload/_root/data/findings/oop/controls/alloccomp-whole-explicit-component.f90 +50 -0
  451. offload/_root/data/findings/oop/controls/alloccomp-whole.f90 +49 -0
  452. offload/_root/data/findings/oop/controls/elemsec-element.f90 +47 -0
  453. offload/_root/data/findings/oop/controls/final-local.f90 +64 -0
  454. offload/_root/data/findings/oop/controls/host-class-star-select-type.f90 +58 -0
  455. offload/_root/data/findings/oop/controls/host-firstprivate-defined-assignment.f90 +54 -0
  456. offload/_root/data/findings/oop/controls/host-lastprivate-defined-assignment.f90 +58 -0
  457. offload/_root/data/findings/oop/controls/host-private-finalization.f90 +51 -0
  458. offload/_root/data/findings/oop/controls/host-select-type.f90 +65 -0
  459. offload/_root/data/findings/oop/controls/parent-and-comp-component-only.f90 +45 -0
  460. offload/_root/data/findings/oop/controls/pdt-kind.f90 +46 -0
  461. offload/_root/data/findings/oop/controls/pdt-len-host.f90 +43 -0
  462. offload/_root/data/findings/oop/controls/pdt-len-unparameterized.f90 +46 -0
  463. offload/_root/data/findings/oop/controls/poly-dispatch-static.f90 +75 -0
  464. offload/_root/data/findings/oop/controls/section-alloc-whole-component.f90 +49 -0
  465. offload/_root/data/findings/oop/controls/section-element-whole-array.f90 +50 -0
  466. offload/_root/data/findings/oop/controls/section-element-whole-component.f90 +50 -0
  467. offload/_root/data/findings/oop/controls/section-fixed.f90 +43 -0
  468. offload/_root/data/findings/oop/controls/tbp-override.f90 +64 -0
  469. offload/_root/data/findings/oop/gcc-acc-parent-and-member-data-rejected.f90 +63 -0
  470. offload/_root/data/findings/oop/gcc-pdt-length-parameter-abort.f90 +68 -0
  471. offload/_root/data/findings/oop/gcc-polymorphic-dispatch-abort.f90 +97 -0
  472. offload/_root/data/findings/oop/gcc-vtab-not-marked-for-offload.f90 +94 -0
  473. offload/_root/data/findings/oop/nvhpc-copy-alloc-component-illegal-address.f90 +76 -0
  474. offload/_root/data/findings/oop/nvhpc-copy-pdt-length-parameter-illegal-address.f90 +69 -0
  475. offload/_root/data/findings/oop/nvhpc-named-mapper-rejected.f90 +65 -0
  476. offload/_root/data/findings/oop/nvhpc-polymorphic-dispatch-translate-failure.f90 +90 -0
  477. offload/_root/data/findings/oop/nvhpc-polymorphism-runtime-unsupported.f90 +94 -0
  478. offload/_root/data/findings/oop/nvhpc-type-bound-call-rejected.f90 +89 -0
  479. offload/_root/data/findings/oop/nvhpc-udr-derived-type-rejected.f90 +67 -0
  480. offload/_root/data/findings/reviews/afar-c-error-directive-in-target-link.json +217 -0
  481. offload/_root/data/findings/reviews/afar-c-lastprivate-distribute-parallel-for-small-type.json +113 -0
  482. offload/_root/data/findings/reviews/afar-c-teams-distribute-reduction-first-team.json +130 -0
  483. offload/_root/data/findings/reviews/afar-c-update-iterator-copy-mode.json +113 -0
  484. offload/_root/data/findings/reviews/afar-cce19-character-defaultmap.json +292 -0
  485. offload/_root/data/findings/reviews/afar-clang-requires-device-safesync-hang.json +191 -0
  486. offload/_root/data/findings/reviews/afar-flang-firstprivate-map-two-targets.json +130 -0
  487. offload/_root/data/findings/reviews/afar-flang-loop-bind-teams-reduction.json +126 -0
  488. offload/_root/data/findings/reviews/afar-flang-task-reduction-max.json +113 -0
  489. offload/_root/data/findings/reviews/afar-flang-thread-limit-target-parallel-do.json +113 -0
  490. offload/_root/data/findings/reviews/afar-loop-bind-thread-in-teams.json +191 -0
  491. offload/_root/data/findings/reviews/afar-nontemporal-assumed-shape-ice.json +113 -0
  492. offload/_root/data/findings/reviews/afar-udr-derived-type-link.json +113 -0
  493. offload/_root/data/findings/reviews/afar-xnack1-atomic-min-nested-parallel.json +113 -0
  494. offload/_root/data/findings/reviews/afar-xnack1-target-is-present.json +113 -0
  495. offload/_root/data/findings/reviews/apps--afar-cce-teams-private-array-nested-parallel-wrong.json +113 -0
  496. offload/_root/data/findings/reviews/apps--cce20-device-link-infer-address-spaces-crash.json +113 -0
  497. offload/_root/data/findings/reviews/apps--cce21-device-link-agpr-copy-mfma-assert.json +113 -0
  498. offload/_root/data/findings/reviews/apps--cce21-private-array-loaded-subscript-wrong.json +113 -0
  499. offload/_root/data/findings/reviews/apps--gcc-acc-c-tile-partial-tiles-wrong.json +113 -0
  500. offload/_root/data/findings/reviews/catalog--afar-c-ordered-doacross-link.json +113 -0
  501. offload/_root/data/findings/reviews/catalog--afar-c-reduction-task-link.json +113 -0
  502. offload/_root/data/findings/reviews/catalog--afar-flang-absent-optional-target-crash.json +113 -0
  503. offload/_root/data/findings/reviews/catalog--afar-flang-critical-target-parallel-wrong.json +113 -0
  504. offload/_root/data/findings/reviews/catalog--afar-flang-dist-schedule-chunk.json +113 -0
  505. offload/_root/data/findings/reviews/catalog--afar-flang-linear-parallel-ice.json +113 -0
  506. offload/_root/data/findings/reviews/catalog--afar-flang-named-critical-link.json +126 -0
  507. offload/_root/data/findings/reviews/catalog--afar-flang-ordered-wrong.json +113 -0
  508. offload/_root/data/findings/reviews/catalog--afar-flang-reduction-minus-rejected.json +113 -0
  509. offload/_root/data/findings/reviews/catalog--afar-flang-sections-in-target-ice.json +113 -0
  510. offload/_root/data/findings/reviews/catalog--afar-flang-workdistribute-ice.json +113 -0
  511. offload/_root/data/findings/reviews/catalog--c-allocate-const-mem-firstprivate-wrong.json +113 -0
  512. offload/_root/data/findings/reviews/catalog--cce-acc-character-dummy-routine-ice.json +113 -0
  513. offload/_root/data/findings/reviews/catalog--cce-acc-loop-seq-in-routine-wrong.json +113 -0
  514. offload/_root/data/findings/reviews/catalog--cce-allocators-stack-ice.json +113 -0
  515. offload/_root/data/findings/reviews/catalog--cce-c-allocate-align-link.json +113 -0
  516. offload/_root/data/findings/reviews/catalog--cce-c-allocate-allocator-modifier-rejected.json +113 -0
  517. offload/_root/data/findings/reviews/catalog--cce-c-dist-schedule-chunk.json +113 -0
  518. offload/_root/data/findings/reviews/catalog--cce-c-f-pointer-device-link.json +130 -0
  519. offload/_root/data/findings/reviews/catalog--cce-c-long-double-ice.json +217 -0
  520. offload/_root/data/findings/reviews/catalog--cce-c-map-iterator-ice.json +217 -0
  521. offload/_root/data/findings/reviews/catalog--cce-c-recursive-function-ice.json +113 -0
  522. offload/_root/data/findings/reviews/catalog--cce-c-sections-in-target-wrong.json +113 -0
  523. offload/_root/data/findings/reviews/catalog--cce-flang-allocate-in-target-crash.json +113 -0
  524. offload/_root/data/findings/reviews/catalog--cce-flang-lastprivate-parallel-in-seq-loop-wrong.json +113 -0
  525. offload/_root/data/findings/reviews/catalog--cce-flang-stop-in-target-crash.json +113 -0
  526. offload/_root/data/findings/reviews/catalog--cce-iterator-link.json +113 -0
  527. offload/_root/data/findings/reviews/catalog--cce-linear-lastprivate-ice.json +113 -0
  528. offload/_root/data/findings/reviews/catalog--cce-reduction-inscan-ice.json +113 -0
  529. offload/_root/data/findings/reviews/catalog--cce-reduction-task-link.json +113 -0
  530. offload/_root/data/findings/reviews/catalog--cce19-reduction-task-addrspacecast-ice.json +113 -0
  531. offload/_root/data/findings/reviews/catalog--cce20-c-defaultmap-private-storage-rejected.json +217 -0
  532. offload/_root/data/findings/reviews/catalog--cce20-map-self-rejected.json +204 -0
  533. offload/_root/data/findings/reviews/catalog--cce21-c-target-loop-ice.json +126 -0
  534. offload/_root/data/findings/reviews/catalog--defaultmap-present-private-array-abort.json +236 -0
  535. offload/_root/data/findings/reviews/catalog--nvhpc-acc-associate-illegal-address.json +113 -0
  536. offload/_root/data/findings/reviews/catalog--nvhpc-c-function-pointer-kernel-missing.json +268 -0
  537. offload/_root/data/findings/reviews/cce-acc-init-set-runtime-assert.json +113 -0
  538. offload/_root/data/findings/reviews/cce-acc-reduction-200-int8-scalars-wrong.json +113 -0
  539. offload/_root/data/findings/reviews/cce-acc-routine-bind-module-ice.json +113 -0
  540. offload/_root/data/findings/reviews/cce-c-dist-schedule-segv.json +113 -0
  541. offload/_root/data/findings/reviews/cce-c-map-delete-refcount.json +149 -0
  542. offload/_root/data/findings/reviews/cce-c-map-present-assert.json +126 -0
  543. offload/_root/data/findings/reviews/cce-c-openmp45-device-link.json +113 -0
  544. offload/_root/data/findings/reviews/cce-c-parallel-for-in-target.json +141 -0
  545. offload/_root/data/findings/reviews/cce-mapper-next-map-copy-back.json +208 -0
  546. offload/_root/data/findings/reviews/cce-uses-allocators-traits-omp50.json +191 -0
  547. offload/_root/data/findings/reviews/cce19-c-reduction-63-scalars-one-wrong.json +113 -0
  548. offload/_root/data/findings/reviews/cce19-target-parallel-guarded-loop.json +113 -0
  549. offload/_root/data/findings/reviews/cce19-target-parallel-single-ice.json +113 -0
  550. offload/_root/data/findings/reviews/cce21-alloc-2e32-sum-wrong.json +113 -0
  551. offload/_root/data/findings/reviews/cce21-defaultmap-aggregate-flag.json +210 -0
  552. offload/_root/data/findings/reviews/cce21-in-reduction-assumed-shape-write-lost.json +113 -0
  553. offload/_root/data/findings/reviews/cce21-in-reduction-taskwait-link.json +113 -0
  554. offload/_root/data/findings/reviews/clang-c-declare-target-to-omp52.json +113 -0
  555. offload/_root/data/findings/reviews/clang-c-linear-directive-name-hang.json +113 -0
  556. offload/_root/data/findings/reviews/clang-c-shared-declare-target-combined.json +132 -0
  557. offload/_root/data/findings/reviews/dataenv--cce-value-dummy-target-write-visible.json +113 -0
  558. offload/_root/data/findings/reviews/defaultmap-none-loop-variable.json +113 -0
  559. offload/_root/data/findings/reviews/fortran-schedule-static-in-target.json +113 -0
  560. offload/_root/data/findings/reviews/fresh--cce-common-block-name-in-map-rejected.json +113 -0
  561. offload/_root/data/findings/reviews/fresh--cce-list-directed-print-in-target-copy-crash.json +217 -0
  562. offload/_root/data/findings/reviews/fresh--cce19-acc-automatic-array-copyout-copy-crash.json +113 -0
  563. offload/_root/data/findings/reviews/fresh--cce21-combined-if-runtime-expr-loop-skipped.json +113 -0
  564. offload/_root/data/findings/reviews/fresh--nvhpc-acc-gang-worker-collapse-nested-vector-reduction-lost.json +113 -0
  565. offload/_root/data/findings/reviews/fresh--nvhpc-teams-loop-module-allocatable-assign-fort2-crash.json +113 -0
  566. offload/_root/data/findings/reviews/fuzz--1505-cce20.json +113 -0
  567. offload/_root/data/findings/reviews/fuzz--1540-afar.json +113 -0
  568. offload/_root/data/findings/reviews/fuzz--1978-cce19.json +130 -0
  569. offload/_root/data/findings/reviews/fuzz--2334-cce19.json +113 -0
  570. offload/_root/data/findings/reviews/fuzz--591-cce19.json +147 -0
  571. offload/_root/data/findings/reviews/fuzz--650-afar.json +113 -0
  572. offload/_root/data/findings/reviews/fuzz--916-afar.json +130 -0
  573. offload/_root/data/findings/reviews/fuzz--98-cce19.json +113 -0
  574. offload/_root/data/findings/reviews/fuzz--b1-121-afar.json +160 -0
  575. offload/_root/data/findings/reviews/fuzz--b2-209-cce19.json +141 -0
  576. offload/_root/data/findings/reviews/fuzz--b2-68-afar.json +113 -0
  577. offload/_root/data/findings/reviews/fuzz--b2-85-cce20.json +217 -0
  578. offload/_root/data/findings/reviews/fuzz--b3-188-cce19.json +113 -0
  579. offload/_root/data/findings/reviews/fuzz--b3-278-cce19.json +212 -0
  580. offload/_root/data/findings/reviews/fuzz--b3-54-afar.json +113 -0
  581. offload/_root/data/findings/reviews/fuzz--b3-61-cce20.json +191 -0
  582. offload/_root/data/findings/reviews/fuzz--b4-86-cce19.json +113 -0
  583. offload/_root/data/findings/reviews/fuzz--gcc-declare-reduction-module-not-found.json +113 -0
  584. offload/_root/data/findings/reviews/fuzz--gcc-target-simd-map-nontemporal-rejected.json +113 -0
  585. offload/_root/data/findings/reviews/fuzz--nvhpc-allocatable-component-implicit-map-illegal-address.json +141 -0
  586. offload/_root/data/findings/reviews/fuzz--nvhpc-assumed-length-character-dummy-map-ice.json +113 -0
  587. offload/_root/data/findings/reviews/fuzz--nvhpc-default-none-reduction-lastprivate-fort1-crash.json +113 -0
  588. offload/_root/data/findings/reviews/fuzz--nvhpc-defaultmap-firstprivate-lastprivate-ice.json +113 -0
  589. offload/_root/data/findings/reviews/fuzz--nvhpc-defaultmap-to-scalar-reduction-lost.json +113 -0
  590. offload/_root/data/findings/reviews/fuzz--nvhpc-depend-implicit-map-illegal-address.json +113 -0
  591. offload/_root/data/findings/reviews/fuzz--nvhpc-distribute-parallel-num-threads-writes-lost.json +113 -0
  592. offload/_root/data/findings/reviews/fuzz--nvhpc-end-distribute-simd-rejected.json +113 -0
  593. offload/_root/data/findings/reviews/fuzz--nvhpc-loop-character-achar-unsupported.json +113 -0
  594. offload/_root/data/findings/reviews/fuzz--nvhpc-map-always-after-map-to-not-copied-back.json +113 -0
  595. offload/_root/data/findings/reviews/fuzz--nvhpc-num-threads-reduction-identity-lost.json +113 -0
  596. offload/_root/data/findings/reviews/fuzz--nvhpc-target-parallel-firstprivate-translate-failure.json +191 -0
  597. offload/_root/data/findings/reviews/fuzz--nvhpc-target-parallel-single-hang.json +113 -0
  598. offload/_root/data/findings/reviews/fuzz--nvhpc-target-simd-collapse-translate-failure.json +113 -0
  599. offload/_root/data/findings/reviews/fuzz--nvhpc-target-simd-no-end-directive-rejected.json +113 -0
  600. offload/_root/data/findings/reviews/fuzz--par-s1-2082-gcc_g90.json +126 -0
  601. offload/_root/data/findings/reviews/fuzz--s1-2370-cce21.json +113 -0
  602. offload/_root/data/findings/reviews/fuzz--s1-2592-cce21.json +113 -0
  603. offload/_root/data/findings/reviews/fuzz--s1-3463-cce21.json +113 -0
  604. offload/_root/data/findings/reviews/fuzz--s1-6760-cce20.json +130 -0
  605. offload/_root/data/findings/reviews/fuzz--s1-6888-cce21.json +113 -0
  606. offload/_root/data/findings/reviews/fuzz--s1-7882-cce20.json +113 -0
  607. offload/_root/data/findings/reviews/fuzz--s1-8634-cce21.json +113 -0
  608. offload/_root/data/findings/reviews/fuzz--s1-91-cce21.json +113 -0
  609. offload/_root/data/findings/reviews/fuzz--s1-9443-afar.json +113 -0
  610. offload/_root/data/findings/reviews/fuzz--s1-9914-cce19.json +141 -0
  611. offload/_root/data/findings/reviews/gcc--gcc-acc-bind-device-type-rejected.json +113 -0
  612. offload/_root/data/findings/reviews/gcc--gcc-acc-detach-delete-attach-underflow.json +314 -0
  613. offload/_root/data/findings/reviews/gcc--gcc-acc-gang-dim-collapse-force-rejected.json +113 -0
  614. offload/_root/data/findings/reviews/gcc--gcc-acc-init-set-shutdown-rejected.json +113 -0
  615. offload/_root/data/findings/reviews/gcc--gcc-acc-link-in-routine-rejected.json +113 -0
  616. offload/_root/data/findings/reviews/gcc--gcc-acc-use-device-allocatable-rejected.json +113 -0
  617. offload/_root/data/findings/reviews/gcc--gcc-c-motion-mapper-rejected.json +113 -0
  618. offload/_root/data/findings/reviews/gcc--gcc-c-omp60-undocumented-rejected.json +217 -0
  619. offload/_root/data/findings/reviews/gcc--gcc-c-omp60-unimplemented-rejected.json +236 -0
  620. offload/_root/data/findings/reviews/gcc--gcc-c-target-in-task-mandatory-device-not-found.json +236 -0
  621. offload/_root/data/findings/reviews/gcc--gcc-c-uses-allocators-traits-unimplemented.json +113 -0
  622. offload/_root/data/findings/reviews/gcc--gcc-declare-mapper-rejected.json +113 -0
  623. offload/_root/data/findings/reviews/gcc--gcc-defaultmap-to-pointer-copy-back.json +217 -0
  624. offload/_root/data/findings/reviews/gcc--gcc-loop-bind-default-none-rejected.json +113 -0
  625. offload/_root/data/findings/reviews/harvest--afar-flang-strided-target-update.json +141 -0
  626. offload/_root/data/findings/reviews/harvest--cce-acc-declare-create-module-allocatable-xnack1-fault.json +113 -0
  627. offload/_root/data/findings/reviews/harvest--cce-c-implicit-struct-map-partly-present.json +217 -0
  628. offload/_root/data/findings/reviews/harvest--cce-c-strided-target-update.json +141 -0
  629. offload/_root/data/findings/reviews/harvest--cce-ftn-target-parallel-thread-query-ice.json +130 -0
  630. offload/_root/data/findings/reviews/harvest--cce-named-constant-array-declare-target-routine-rejected.json +113 -0
  631. offload/_root/data/findings/reviews/harvest--cce-use-device-ptr-c-ptr-not-converted.json +113 -0
  632. offload/_root/data/findings/reviews/harvest--cce21-declare-target-link-module-variable-write-lost.json +113 -0
  633. offload/_root/data/findings/reviews/harvest--cce21-internal-procedure-calls-internal-in-target-fault.json +158 -0
  634. offload/_root/data/findings/reviews/harvest--gcc-acc-declare-create-allocatable-not-mapped.json +204 -0
  635. offload/_root/data/findings/reviews/harvest--gcc-c-same-item-two-maps-rejected.json +143 -0
  636. offload/_root/data/findings/reviews/harvest--gcc-c-strided-section-rejected.json +164 -0
  637. offload/_root/data/findings/reviews/harvest--gcc-c-target-data-struct-pointer-section-ice.json +113 -0
  638. offload/_root/data/findings/reviews/harvest--gcc-c-target-data-two-maps-ice.json +113 -0
  639. offload/_root/data/findings/reviews/harvest--gcc-teams-simd-matmul-allocatable-ice.json +113 -0
  640. offload/_root/data/findings/reviews/harvest--nvhpc-c-target-data-if-false-use-device-ptr-garbage.json +113 -0
  641. offload/_root/data/findings/reviews/harvest--nvhpc-named-constant-array-declare-target-routine-rejected.json +126 -0
  642. offload/_root/data/findings/reviews/harvest--nvhpc-use-device-ptr-c-ptr-not-found.json +113 -0
  643. offload/_root/data/findings/reviews/harvest--nvhpc2511-target-nowait-in-parallel-for-ice.json +130 -0
  644. offload/_root/data/findings/reviews/hecbench--gcc-c-float16-array-in-target-lto-ice.json +217 -0
  645. offload/_root/data/findings/reviews/hecbench--gcc-c-swar-popcount-assembler-error.json +126 -0
  646. offload/_root/data/findings/reviews/malloc--afar-device-malloc-in-kernel-corrupts-records.json +270 -0
  647. offload/_root/data/findings/reviews/multithread-allocatable-section-maps.json +191 -0
  648. offload/_root/data/findings/reviews/nested--afar-cce-c-call-result-member-in-target-rejected.json +113 -0
  649. offload/_root/data/findings/reviews/nested--afar-cce-c-update-struct-and-member-rejected.json +126 -0
  650. offload/_root/data/findings/reviews/nested--afar-flang-pointer-root-allocatable-component-enter-data-fault.json +191 -0
  651. offload/_root/data/findings/reviews/nested--cce-c-struct-and-nested-pointee-sections-ice.json +113 -0
  652. offload/_root/data/findings/reviews/nested--cce-fortran-nested-allocatable-component-copy-fault.json +214 -0
  653. offload/_root/data/findings/reviews/nested--cce-fortran-pointer-to-type-with-allocatable-scalar-component-typed-transfer.json +191 -0
  654. offload/_root/data/findings/reviews/nested--cce-fortran-update-to-pointer-root-allocatable-scalar-component-no-accelerator-object.json +297 -0
  655. offload/_root/data/findings/reviews/nested--gcc-acc-c-exit-data-of-a-pointer-array-element-target-hangs.json +204 -0
  656. offload/_root/data/findings/reviews/nested--gcc-acc-c-parent-and-shared-pointee-one-directive.json +130 -0
  657. offload/_root/data/findings/reviews/nested--gcc-acc-c-struct-and-member-array-one-directive.json +141 -0
  658. offload/_root/data/findings/reviews/nested--gcc-c-always-on-pointer-member-section-ice.json +113 -0
  659. offload/_root/data/findings/reviews/nested--gcc-c-declare-mapper-pointer-member-section-gpu-fault.json +113 -0
  660. offload/_root/data/findings/reviews/nested--gcc-c-from-struct-and-pointee-section-rejected.json +113 -0
  661. offload/_root/data/findings/reviews/nested--gcc-fortran-pointer-component-alloc-bounds-lost.json +217 -0
  662. offload/_root/data/findings/reviews/nested--gcc-fortran-root-and-element-pointer-components-ice.json +217 -0
  663. offload/_root/data/findings/reviews/nested--nvhpc-c-pointee-before-parent-in-one-map-list-copy-fault.json +204 -0
  664. offload/_root/data/findings/reviews/nested--nvhpc-c-update-from-structure-overwrites-attached-pointer-segv.json +191 -0
  665. offload/_root/data/findings/reviews/nvhpc-c-acc-atomic-update-sum-ice.json +277 -0
  666. offload/_root/data/findings/reviews/nvhpc-c-dist-schedule-chunk-compile-hang.json +113 -0
  667. offload/_root/data/findings/reviews/nvhpc-c-map-present-ignored.json +113 -0
  668. offload/_root/data/findings/reviews/nvhpc-c-ordered-in-target-nvcpfe-crash.json +113 -0
  669. offload/_root/data/findings/reviews/nvhpc-c-parallel-for-firstprivate-in-target.json +113 -0
  670. offload/_root/data/findings/reviews/nvhpc-defaultmap-firstprivate-explicit-map.json +113 -0
  671. offload/_root/data/findings/reviews/nvhpc-defaultmap-from-allocatable-indexing.json +132 -0
  672. offload/_root/data/findings/reviews/nvhpc-depend-inoutset-ignored.json +113 -0
  673. offload/_root/data/findings/reviews/nvhpc-dist-schedule-chunk-illegal-address.json +113 -0
  674. offload/_root/data/findings/reviews/nvhpc-managed-acc-shutdown-host-access.json +113 -0
  675. offload/_root/data/findings/reviews/nvhpc-parallel-if-in-target-nvvm-ice.json +113 -0
  676. offload/_root/data/findings/reviews/oop--afar-final-dealloc-device-link.json +132 -0
  677. offload/_root/data/findings/reviews/oop--afar-pdt-length-parameter-not-implemented.json +113 -0
  678. offload/_root/data/findings/reviews/oop--cce-class-is-device-link.json +130 -0
  679. offload/_root/data/findings/reviews/oop--cce-copy-alloc-component-section-fault.json +217 -0
  680. offload/_root/data/findings/reviews/oop--cce-copy-parent-to-component-tofrom-lost.json +217 -0
  681. offload/_root/data/findings/reviews/oop--cce-copy-second-member-section-lost.json +113 -0
  682. offload/_root/data/findings/reviews/oop--cce-element-component-map-lost.json +113 -0
  683. offload/_root/data/findings/reviews/oop--cce-final-dealloc-device-abort.json +208 -0
  684. offload/_root/data/findings/reviews/oop--cce-pdt-default-mapper-rejected.json +191 -0
  685. offload/_root/data/findings/reviews/oop--cce-polymorphic-dispatch-device-link.json +247 -0
  686. offload/_root/data/findings/reviews/oop--cce-section-of-element-component-overlap.json +113 -0
  687. offload/_root/data/findings/reviews/oop--cce-select-type-guard-not-taken.json +191 -0
  688. offload/_root/data/findings/reviews/oop--cce-udr-derived-type-unsupported.json +132 -0
  689. offload/_root/data/findings/reviews/oop--gcc-acc-parent-and-member-data-rejected.json +141 -0
  690. offload/_root/data/findings/reviews/oop--gcc-pdt-length-parameter-abort.json +141 -0
  691. offload/_root/data/findings/reviews/oop--gcc-polymorphic-dispatch-abort.json +217 -0
  692. offload/_root/data/findings/reviews/oop--gcc-vtab-not-marked-for-offload.json +113 -0
  693. offload/_root/data/findings/reviews/oop--nvhpc-copy-alloc-component-illegal-address.json +113 -0
  694. offload/_root/data/findings/reviews/oop--nvhpc-copy-pdt-length-parameter-illegal-address.json +236 -0
  695. offload/_root/data/findings/reviews/oop--nvhpc-named-mapper-rejected.json +113 -0
  696. offload/_root/data/findings/reviews/oop--nvhpc-polymorphic-dispatch-translate-failure.json +223 -0
  697. offload/_root/data/findings/reviews/oop--nvhpc-polymorphism-runtime-unsupported.json +126 -0
  698. offload/_root/data/findings/reviews/oop--nvhpc-type-bound-call-rejected.json +113 -0
  699. offload/_root/data/findings/reviews/oop--nvhpc-udr-derived-type-rejected.json +113 -0
  700. offload/_root/data/findings/reviews/stress--afar-c-lastprivate-combined-target-not-mapped.json +113 -0
  701. offload/_root/data/findings/reviews/stress--afar-target-scalar-implicit-firstprivate.json +175 -0
  702. offload/_root/data/findings/reviews/stress--cce-acc-declare-create-scalar-serial-firstprivate.json +113 -0
  703. offload/_root/data/findings/reviews/stress--cce-c-distribute-lastprivate-lost.json +113 -0
  704. offload/_root/data/findings/reviews/stress--cce-c-flto-offload-dropped.json +204 -0
  705. offload/_root/data/findings/reviews/stress--cce-ftn-cif-record-split-abort.json +113 -0
  706. offload/_root/data/findings/reviews/stress--cce-lastprivate-num-threads-collapse-simd.json +113 -0
  707. offload/_root/data/findings/reviews/stress--cce-teams-reduction-many-teams-wrap.json +113 -0
  708. offload/_root/data/findings/reviews/stress--cce21-declare-target-scalar-map-write-lost.json +113 -0
  709. offload/_root/data/findings/reviews/stress--gcc-declare-target-allocatable-component-ice.json +191 -0
  710. offload/_root/data/findings/reviews/stress--nvhpc-acc-derived-type-component-not-copied.json +126 -0
  711. offload/_root/data/findings/reviews/stress--nvhpc-c-lastprivate-teams-distribute-parallel-for-lost.json +113 -0
  712. offload/_root/data/findings/reviews/stress--nvhpc-declare-target-scalar-write-lost.json +113 -0
  713. offload/_root/data/findings/reviews/stress--nvhpc-lastprivate-combined-target-not-mapped.json +113 -0
  714. offload/_root/data/findings/reviews/stress--nvhpc-target-scalar-implicit-firstprivate.json +130 -0
  715. offload/_root/data/findings/reviews/target-update-sections-in-parallel.json +113 -0
  716. offload/_root/data/findings/stress/afar-c-lastprivate-combined-target-not-mapped.c +72 -0
  717. offload/_root/data/findings/stress/afar-target-scalar-implicit-firstprivate.f90 +47 -0
  718. offload/_root/data/findings/stress/cce-acc-declare-create-scalar-serial-firstprivate.f90 +43 -0
  719. offload/_root/data/findings/stress/cce-c-distribute-lastprivate-lost.c +52 -0
  720. offload/_root/data/findings/stress/cce-c-flto-offload-dropped.c +73 -0
  721. offload/_root/data/findings/stress/cce-ftn-cif-record-split-abort.f90 +109 -0
  722. offload/_root/data/findings/stress/cce-lastprivate-num-threads-collapse-simd.f90 +66 -0
  723. offload/_root/data/findings/stress/cce-teams-reduction-many-teams-wrap.f90 +55 -0
  724. offload/_root/data/findings/stress/cce21-declare-target-scalar-map-write-lost.f90 +58 -0
  725. offload/_root/data/findings/stress/controls/gcc-declare-target-allocatable-component-control.f90 +29 -0
  726. offload/_root/data/findings/stress/gcc-declare-target-allocatable-component-ice.f90 +61 -0
  727. offload/_root/data/findings/stress/nvhpc-acc-derived-type-component-not-copied.f90 +33 -0
  728. offload/_root/data/findings/stress/nvhpc-c-lastprivate-teams-distribute-parallel-for-lost.c +62 -0
  729. offload/_root/data/findings/stress/nvhpc-declare-target-scalar-write-lost.f90 +43 -0
  730. offload/_root/data/findings/stress/nvhpc-lastprivate-combined-target-not-mapped.f90 +60 -0
  731. offload/_root/data/findings/stress/nvhpc-target-scalar-implicit-firstprivate.f90 +41 -0
  732. offload/_root/data/findings/target-update-sections-in-parallel.f90 +53 -0
  733. offload/_root/data/issues.json +1 -0
  734. offload/_root/data/search.json +1 -0
  735. offload/_root/data/vendor/checks/build.py +288 -0
  736. offload/_version.py +24 -0
  737. offload/canuse.py +88 -0
  738. offload/cli.py +52 -0
  739. offload/data.py +85 -0
  740. offload/engine/__init__.py +0 -0
  741. offload/engine/acc_c_gen.py +415 -0
  742. offload/engine/acc_gen.py +1104 -0
  743. offload/engine/acc_rules.py +656 -0
  744. offload/engine/apps.py +804 -0
  745. offload/engine/baseline.py +324 -0
  746. offload/engine/c_gen.py +883 -0
  747. offload/engine/c_program.py +913 -0
  748. offload/engine/c_rules.py +503 -0
  749. offload/engine/campaign.py +1180 -0
  750. offload/engine/campaigns/__init__.py +2 -0
  751. offload/engine/campaigns/hecbench.py +153 -0
  752. offload/engine/campaigns/nested.py +76 -0
  753. offload/engine/campaigns/oop.py +61 -0
  754. offload/engine/canary.py +275 -0
  755. offload/engine/catalog.py +860 -0
  756. offload/engine/citations.py +532 -0
  757. offload/engine/clang_oracle.py +208 -0
  758. offload/engine/combos.py +234 -0
  759. offload/engine/confirm/__init__.py +2 -0
  760. offload/engine/confirm/backlog.py +159 -0
  761. offload/engine/confirm/claims.py +423 -0
  762. offload/engine/confirm/collectors.py +665 -0
  763. offload/engine/confirm/decisions.py +202 -0
  764. offload/engine/confirm/draft.py +195 -0
  765. offload/engine/confirm/engine.py +157 -0
  766. offload/engine/confirm/execute.py +382 -0
  767. offload/engine/confirm/facts.py +467 -0
  768. offload/engine/confirm/findings.py +617 -0
  769. offload/engine/confirm/forms.py +145 -0
  770. offload/engine/confirm/ingest.py +372 -0
  771. offload/engine/confirm/jobs.py +215 -0
  772. offload/engine/confirm/legality.py +323 -0
  773. offload/engine/confirm/machines.py +254 -0
  774. offload/engine/confirm/minimize.py +268 -0
  775. offload/engine/confirm/model.py +249 -0
  776. offload/engine/confirm/ports.py +107 -0
  777. offload/engine/confirm/programs.py +222 -0
  778. offload/engine/confirm/registry.py +151 -0
  779. offload/engine/confirm/regress.py +278 -0
  780. offload/engine/confirm/rules.py +565 -0
  781. offload/engine/confirm/store.py +63 -0
  782. offload/engine/confirm/triage.py +838 -0
  783. offload/engine/confirm/validate.py +607 -0
  784. offload/engine/confirm/witness.py +355 -0
  785. offload/engine/corpus_check.py +388 -0
  786. offload/engine/coverage.py +318 -0
  787. offload/engine/dataenv_gen.py +1318 -0
  788. offload/engine/dataenv_rules.py +278 -0
  789. offload/engine/devtemps.py +146 -0
  790. offload/engine/expected.py +2559 -0
  791. offload/engine/f2c.py +1783 -0
  792. offload/engine/finding_claims.py +330 -0
  793. offload/engine/finding_header.py +229 -0
  794. offload/engine/finding_rows.py +382 -0
  795. offload/engine/flang_oracle.py +299 -0
  796. offload/engine/fsource.py +620 -0
  797. offload/engine/fuzz.py +2455 -0
  798. offload/engine/fuzz_base.py +2016 -0
  799. offload/engine/fuzz_campaign.py +592 -0
  800. offload/engine/fuzz_exec.py +798 -0
  801. offload/engine/fuzz_min.py +1049 -0
  802. offload/engine/fuzz_profile.py +340 -0
  803. offload/engine/fuzz_report.py +1270 -0
  804. offload/engine/fuzz_steer.py +181 -0
  805. offload/engine/gate.py +1013 -0
  806. offload/engine/gate_report.py +711 -0
  807. offload/engine/gate_run.py +118 -0
  808. offload/engine/gate_stored.py +466 -0
  809. offload/engine/gen.py +1114 -0
  810. offload/engine/gen_templates.py +2583 -0
  811. offload/engine/grammar.py +695 -0
  812. offload/engine/harness.py +1472 -0
  813. offload/engine/harvest/__init__.py +3 -0
  814. offload/engine/harvest/c_runtime.py +465 -0
  815. offload/engine/harvest/checks.py +534 -0
  816. offload/engine/harvest/convert.py +784 -0
  817. offload/engine/harvest/f_runtime.py +668 -0
  818. offload/engine/harvest/filters.py +338 -0
  819. offload/engine/harvest/history.py +122 -0
  820. offload/engine/harvest/inventory.py +399 -0
  821. offload/engine/harvest2/__init__.py +5 -0
  822. offload/engine/harvest2/aomp.py +119 -0
  823. offload/engine/harvest2/examples.py +116 -0
  824. offload/engine/harvest2/gomp.py +679 -0
  825. offload/engine/harvest2/hand.py +150 -0
  826. offload/engine/harvest2/split.py +78 -0
  827. offload/engine/harvest_known/__init__.py +2 -0
  828. offload/engine/harvest_known/apps.py +65 -0
  829. offload/engine/harvest_known/cases.py +128 -0
  830. offload/engine/harvest_known/centres.py +184 -0
  831. offload/engine/harvest_known/forum.py +180 -0
  832. offload/engine/harvest_known/relnotes.py +42 -0
  833. offload/engine/harvest_known/textscan.py +107 -0
  834. offload/engine/hdrwrap.py +42 -0
  835. offload/engine/hecbench.py +568 -0
  836. offload/engine/hecbench_report.py +265 -0
  837. offload/engine/hecbench_run.py +483 -0
  838. offload/engine/idioms.py +1427 -0
  839. offload/engine/kbody_cites.py +81 -0
  840. offload/engine/kbody_emit.py +949 -0
  841. offload/engine/kbody_gen.py +795 -0
  842. offload/engine/legality_review.py +236 -0
  843. offload/engine/localcfg.py +58 -0
  844. offload/engine/malloc_dd.py +267 -0
  845. offload/engine/mutate.py +1933 -0
  846. offload/engine/nested_cites.py +196 -0
  847. offload/engine/nested_emit.py +789 -0
  848. offload/engine/nested_gen.py +1721 -0
  849. offload/engine/offload_scope.py +197 -0
  850. offload/engine/ompvv.py +624 -0
  851. offload/engine/oop_gen.py +2249 -0
  852. offload/engine/prerun.py +1435 -0
  853. offload/engine/program_source.py +739 -0
  854. offload/engine/provenance.py +103 -0
  855. offload/engine/reduce.py +2098 -0
  856. offload/engine/report.py +3374 -0
  857. offload/engine/root.py +33 -0
  858. offload/engine/rules.py +4256 -0
  859. offload/engine/run_matrix.py +325 -0
  860. offload/engine/site/__init__.py +1 -0
  861. offload/engine/site/columns.py +53 -0
  862. offload/engine/site/data.py +648 -0
  863. offload/engine/site/header.py +228 -0
  864. offload/engine/site/inputs.py +115 -0
  865. offload/engine/site/matrix.py +434 -0
  866. offload/engine/site/scrub.py +294 -0
  867. offload/engine/skeleton.py +121 -0
  868. offload/engine/spec_text.py +242 -0
  869. offload/engine/stress.py +4122 -0
  870. offload/engine/stress_c.py +1000 -0
  871. offload/engine/stress_exec.py +805 -0
  872. offload/engine/stress_min.py +248 -0
  873. offload/engine/stress_report.py +552 -0
  874. offload/engine/textclean.py +97 -0
  875. offload/engine/toolchains.py +1070 -0
  876. offload/engine/transforms.py +511 -0
  877. offload/engine/usage.py +1252 -0
  878. offload/engine/widen.py +673 -0
  879. offload/engine/widen_progs.py +2396 -0
  880. offload/issues.py +146 -0
  881. offtarget-0.1.0.dist-info/METADATA +86 -0
  882. offtarget-0.1.0.dist-info/RECORD +886 -0
  883. offtarget-0.1.0.dist-info/WHEEL +4 -0
  884. offtarget-0.1.0.dist-info/entry_points.txt +2 -0
  885. offtarget-0.1.0.dist-info/licenses/LICENSE +21 -0
  886. offtarget-0.1.0.dist-info/licenses/THIRD_PARTY_NOTICES.md +20 -0
@@ -0,0 +1,96 @@
1
+ ! Finding: CCE 20 and 21 internal compiler error: optcg killed by
2
+ ! signal 6 (ftn-2116 "optcg was terminated due to receipt of signal 06:
3
+ ! Aborted") on a program with a target teams loop that maps a pointer
4
+ ! component (map(always, tofrom: dr%pc)) and reduces with a user-defined
5
+ ! reduction (reduction(padd: rp2a), declare reduction padd for a derived
6
+ ! type), next to a target teams region with map(tofrom: dr) and
7
+ ! reduction(min: r1a). CCE 19 does not implement user-defined reductions
8
+ ! in target regions (not_implemented, a support gap).
9
+ !
10
+ ! Legal OpenMP 5.2 (declare reduction §5.5.11 and its use on teams/loop,
11
+ ! §5.5.8; a pointer component in a map clause, §5.8.3). Legality: offload.engine.prerun.check accepts
12
+ ! it (rerun: offload.engine.rules with the race rule and the restriction checks, and the AFAR
13
+ ! flang front end, not under test here); no compiler under test, gfortran or gcc is a legality
14
+ ! witness.
15
+ !
16
+ ! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/icev2.log):
17
+ ! the confirmer's reduction of s1 seed 6085 (results/confirm/drafts/
18
+ ! fuzz_s1_6085_cce21_gfx942_unified, 216 -> 179 lines, ICE kept) gives the
19
+ ! optcg abort on CCE 20 and 21; this file is that program reduced further
20
+ ! on CCE 21 by deleting lines while the abort stays
21
+ ! (data/evidence/dataenv_probe/min_ice.py; 179 -> 130 lines). Hand-written forms of
22
+ ! the two kernels alone do not reproduce it (data/evidence/dataenv_probe/ice/b1-b3.f90:
23
+ ! CCE reports "Unsupported OpenMP construct Calls -- __GET_DYNAMIC_TYPE" or
24
+ ! compiles). Fuzz campaign s1: the ftn-2116 signal 06 cells of CCE 19/20/21.
25
+ !
26
+ ! Fix: reduced further by clause and list-item
27
+ ! deletion as well as lines (data/evidence/dataenv_probe/min_ice.py, 130 -> 56 lines,
28
+ ! results/t28_probe/short/): two empty target teams constructs, one with
29
+ ! map(tofrom: dr) (a structure with an allocatable component) and
30
+ ! reduction(min: r1a), one a target teams loop with the user reduction
31
+ ! reduction(padd: rp2a), and a module procedure in a submodule; the optcg
32
+ ! abort stays on CCE 20 and 21, CCE 19 reports user reductions not
33
+ ! implemented, AFAR compiles it (results/t28_probe/icev_fr1.log).
34
+ !
35
+ ! ftn -fopenmp -O2 (a bundle:
36
+ !@file fuzz_dmod.f90
37
+ module fuzz_dmod
38
+ implicit none
39
+ type :: mt_t
40
+ end type mt_t
41
+ type :: pair_t
42
+ integer :: x, y
43
+ end type pair_t
44
+ !$omp declare reduction(padd: pair_t: omp_out = pair_t(omp_out%x + omp_in%x, omp_out%y + omp_in%y)) &
45
+ !$omp& initializer(omp_priv = pair_t(0, 0))
46
+ end module fuzz_dmod
47
+ !@file fuzz_smod.f90
48
+ module fuzz_smod
49
+ implicit none
50
+ interface
51
+ module integer function gs1(x)
52
+ integer, intent(in) :: x
53
+ end function gs1
54
+ end interface
55
+ end module fuzz_smod
56
+ !@file fuzz_ssub.f90
57
+ submodule (fuzz_smod) fuzz_ssub
58
+ implicit none
59
+ contains
60
+ module integer function gs1(x)
61
+ integer, intent(in) :: x
62
+ end function gs1
63
+ end submodule fuzz_ssub
64
+ !@file fuzz_prog.f90
65
+ program fuzz_prog
66
+ use fuzz_dmod
67
+ implicit none
68
+ integer, parameter :: n = 100, m = 5
69
+ type :: rec_t
70
+ integer, allocatable :: o1(:)
71
+ end type rec_t
72
+ type(pair_t) :: rp2a
73
+ integer :: i, r1a
74
+ contains
75
+ subroutine kp1(xr4, dr)
76
+ real(4), allocatable, intent(in) :: xr4(:)
77
+ type(rec_t), intent(inout) :: dr
78
+ !$omp target teams map(tofrom: dr) reduction(min: r1a)
79
+ !$omp end target teams
80
+ end subroutine kp1
81
+ subroutine kp2(ic, xk1, xr4, dr, ms)
82
+ integer, intent(inout) :: ic(:, :)
83
+ integer(1), allocatable, intent(in) :: xk1(:)
84
+ real(4), intent(in) :: xr4(:)
85
+ type(rec_t), intent(inout) :: dr
86
+ type(mt_t), intent(inout) :: ms
87
+ !$omp target teams loop reduction(padd: rp2a)
88
+ do i = 1, n
89
+ end do
90
+ end subroutine kp2
91
+ end program fuzz_prog
92
+ ! site:
93
+ ! title: craycc/ftn: OpenMP 5.1/5.2/6.0 forms HPE does not claim are rejected, and some crash the compiler instead of a diagnostic
94
+ ! control: ../vendor/checks/src/other/control/s1-6085-cce21-control.f90 reduction(min: r1a) removed from the first target teams
95
+ ! same_as: catalog/cce-c-map-iterator-ice
96
+ ! end site
@@ -0,0 +1,65 @@
1
+ ! Finding: CCE 20 rejects the enter clause of declare
2
+ ! target (ftn-1725 "Unexpected syntax while parsing the DIRECTIVE statement :
3
+ ! "INDIRECT, LINK, TO or DEVICE_TYPE" was expected but found "E"").
4
+ !
5
+ ! Legal OpenMP 5.2: enter is the 5.2 name of the declare target clause that
6
+ ! 5.0/5.1 spell to ("The clause-name to may be used as a synonym for the
7
+ ! clause-name enter. This use has been deprecated.", 5.2 §5.8.4 p.158; "The
8
+ ! enter clause was added as a synonym for the to clause on the declare
9
+ ! target directive", 5.2 Appendix B.2 p.627). CCE 20 claims it: the CCE
10
+ ! 20.0.0 release notes list "[5.2] ... misc. new syntax allowed by
11
+ ! specification (e.g. `declare target`, `ordered`, metadirective)", and
12
+ ! the only new 5.2 syntax of declare target is enter (catalog/omp/
13
+ ! claims.yaml; maintainer reading). A claimed form
14
+ ! rejected: compiler_bug. CCE 19 makes no such claim (its identical
15
+ ! rejection is unsupported, rule R11c); CCE 21 claims enter (Fortran) and
16
+ ! accepts it.
17
+ !
18
+ ! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1 and 0, 2026-10-23,
19
+ ! results/t28_probe/dt_enter.f90.*.json): CCE 20.0.2 ftn-1725 at the enter
20
+ ! keyword (dt_enter.f90 line 13, column 24); CCE 19.0.0 the same
21
+ ! (unsupported, no claim); CCE 21.0.3 and AFAR amdflang 24.0.0git compile
22
+ ! it and print "RESULT check=pass" in both modes. Tioga MI250X (gfx90a):
23
+ ! the catalog program omp52-clause-enter is rejected the same way by
24
+ ! cce20_g90 (results/confirm/batch_full.jsonl, R11).
25
+ ! Fuzz campaign s1: CCE 20's 7,099 enter rejections (s1 and s1x0; 5,588
26
+ ! s1 programs use enter) are compiler_bug: 4,502 by rule R11 (another
27
+ ! family compiles the program) and 2,597 by decision D9 (the other
28
+ ! families reject the program at other statements). Representative: s1
29
+ ! seed 6760 (116 lines, AFAR and CCE 21 print the model value); this
30
+ ! reproducer is written by hand (data/evidence/dataenv_probe/dt_enter.f90).
31
+ ! Expected: "RESULT check=pass".
32
+ !
33
+ ! ftn -fopenmp -O2 (cce20 recipe, offload/engine/toolchains.py)
34
+ module m
35
+ implicit none
36
+ integer, parameter :: n = 16
37
+ integer :: g(n) = 1
38
+ !$omp declare target enter(g)
39
+ end module m
40
+ program p
41
+ use m
42
+ implicit none
43
+ integer :: i
44
+ logical :: ok
45
+ !$omp target
46
+ do i = 1, n
47
+ g(i) = g(i) + i
48
+ end do
49
+ !$omp end target
50
+ !$omp target update from(g)
51
+ ok = .true.
52
+ do i = 1, n
53
+ ok = ok .and. g(i) == 1 + i
54
+ end do
55
+ if (ok) then
56
+ print '(a)', 'RESULT check=pass'
57
+ else
58
+ print '(a)', 'RESULT check=fail'
59
+ end if
60
+ end program p
61
+ ! site:
62
+ ! title: ftn rejects the enter clause of declare target (the OpenMP 5.2 name of the to clause)
63
+ ! control: ../vendor/checks/src/other/control/s1-6760-cce20-control.f90 declare target to(g), the deprecated spelling, instead of
64
+ ! + enter(g)
65
+ ! end site
@@ -0,0 +1,76 @@
1
+ ! Finding: CCE 19, 20, 21 reject a strided array section in a
2
+ ! motion clause of target update (ftn-1747 "The stride specified for array
3
+ ! ... must not be greater than 1. Subarray references in the MAP clause
4
+ ! must be to contiguous memory").
5
+ !
6
+ ! Legal OpenMP 5.0-5.2: "A stride expression may not be specified unless
7
+ ! otherwise stated" (5.2 §3.2.5 p.66) and the data-motion clauses state it:
8
+ ! "The list items may include array sections with stride expressions"
9
+ ! (5.2 §5.9 p.165); added in 5.0: "The target update construct (see Section
10
+ ! 13.9) was modified to allow array sections that specify discontiguous
11
+ ! storage" (5.2 §B.4 p.634). Only the map clause requires contiguous storage
12
+ ! (5.2 §5.8.3 p.156). CCE claims full OpenMP 5.0 (intro_openmp(7) of 19.0.0,
13
+ ! 20.0.2, 21.0.3). gfortran 13 rejects it too ("Stride should not be
14
+ ! specified for array section in TO clause"): a limitation of gfortran, not
15
+ ! a legality verdict. AFAR prints "error: stride cannot be specified on an
16
+ ! array section" for strided sections of structure components (e.g.
17
+ ! gs%k(1:n:2)); in s1 and s1x0 289 AFAR cells carry it and none of them
18
+ ! agrees (194 compile_reject, 68 run_error, 17 wrong_code, 10 ICE), against
19
+ ! 54% agree for the cells without it, and 22 of AFAR's 138 present-modifier
20
+ ! aborts are among them (8 times the overall rate). The message is not
21
+ ! always fatal; an AFAR defect with strided component sections is likely
22
+ ! but was not reduced in this task. For a plain array, as here, AFAR is
23
+ ! silent and correct.
24
+ ! Expected: "RESULT check=pass" (the odd elements are doubled on the device
25
+ ! and copied back; the even ones are not checked, since they depend on the
26
+ ! memory mode).
27
+ !
28
+ ! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1 and 0, 2026-10-23,
29
+ ! results/t28_probe/strided_update.f90.*.json):
30
+ ! - CCE 19.0.0, 20.0.2, 21.0.3: compile error ftn-1747 at the target update
31
+ ! (21.0.3 words it "... in the MAP clause must not be greater than 1.");
32
+ ! - AFAR amdflang 24.0.0git: compiles, "RESULT check=pass" in both modes.
33
+ ! - Tioga MI250X (gfx90a, HSA_XNACK=0): the same; CCE 19/20/21 reject,
34
+ ! AFAR passes (results/t28_probe/g90/strided_update.cce21_g90.json).
35
+ ! Fuzz campaign s1: 988 CCE cells (s1 and s1x0) fail on this diagnostic,
36
+ ! verdict compiler_bug (rule R11 where AFAR compiles the program, decision
37
+ ! D1 where every family rejects the program at different statements).
38
+ ! Representative: s1 seed 6888 on cce21 (the confirmer's reduction,
39
+ ! results/confirm/drafts/fuzz_s1_6888_cce21_gfx942_unified, keeps
40
+ ! "!$omp target update to(gs%k(1:n:2))"); reproducer written by hand from
41
+ ! it (data/evidence/dataenv_probe/strided_update.f90).
42
+ !
43
+ ! ftn -fopenmp -O2 (cce19/cce20/cce21 recipes, offload/engine/toolchains.py)
44
+ program p
45
+ implicit none
46
+ integer, parameter :: n = 16
47
+ integer :: a(n), i
48
+ logical :: ok
49
+ a = 0
50
+ !$omp target enter data map(to: a)
51
+ do i = 1, n
52
+ a(i) = i
53
+ end do
54
+ !$omp target update to(a(1:n:2))
55
+ !$omp target
56
+ do i = 1, n
57
+ a(i) = 2 * a(i)
58
+ end do
59
+ !$omp end target
60
+ !$omp target exit data map(from: a)
61
+ ok = .true.
62
+ do i = 1, n
63
+ ! the even elements are 0 with separate memory and 2 * i with
64
+ ! shared memory: only the updated ones are checked
65
+ if (mod(i, 2) == 1) ok = ok .and. a(i) == 2 * i
66
+ end do
67
+ if (ok) then
68
+ print '(a)', 'RESULT check=pass'
69
+ else
70
+ print '(a)', 'RESULT check=fail'
71
+ end if
72
+ end program p
73
+ ! site:
74
+ ! title: ftn: target update to(a(1:n:2)) rejected (ftn-1747, stride must not be greater than 1)
75
+ ! control: ../vendor/checks/src/other/control/s1-6888-cce21-control.f90 to(a(1:n)), without the stride (all elements updated)
76
+ ! end site
@@ -0,0 +1,63 @@
1
+ ! Minimized by compliance.fuzz_min from fuzz seed 7882 (fuzz-3).
2
+ ! toolchain: cce20 (-O2, HSA_XNACK=1, OMP_TARGET_OFFLOAD=mandatory)
3
+ ! failure: run_error (exit_status)
4
+ ! message: Variable not found in present table
5
+ ! expected: runs to completion (the host run does)
6
+ ! observed: device: fail exit_status: 1; host reference (afar) checksum=0
7
+ ! Legal OpenMP 5.2: offload.engine.prerun.check accepts it (rerun: offload.engine.rules with the
8
+ ! race rule and the restriction checks, and the AFAR flang front end, not under test here); no
9
+ ! compiler under test, gfortran or gcc is a legality witness.
10
+ ! also fails on: cce19, cce21
11
+ ! Finding: CCE 19, 20, 21 end with exit status 1 ("Variable not
12
+ ! found in present table", the CCE runtime's present check) at a target
13
+ ! construct with map(present, tofrom: xc) for a character array xc that the
14
+ ! enclosing target data construct maps (map(to: ... xc ...)); AFAR runs it.
15
+ ! Legal OpenMP 5.2: the target data construct makes xc present, so the
16
+ ! present modifier is satisfied (5.2 §5.8.3 p.152 l.25-27: "If a map clause with a
17
+ ! present map-type-modifier appears on a construct and on entry to the
18
+ ! region the corresponding list item is not present in the device data
19
+ ! environment, runtime error termination is performed"); a
20
+ ! character array is a map list item. Related to s1-8634-cce21.f90 (CCE ICE
21
+ ! on a character scalar in enter/exit data): another construct and
22
+ ! symptom (an array, a run-time presence failure).
23
+ ! Observed (tuolumne, MI300A, -O2, HSA_XNACK=1 and 0, 2026-10-23,
24
+ ! results/t28_probe/rt/7882-cce20.f90.*.json): CCE 19, 20, 21 exit status 1
25
+ ! in both modes; AFAR "RESULT checksum=0" (the reference). Reduced from s1
26
+ ! seed 7882 by tools/campaigns/fuzz.py minimize-one (197 -> 84 lines).
27
+ ! Shorter form (fix; written by hand from
28
+ ! the 84-line reduction, which git history keeps): an allocatable
29
+ ! character(len=4) array alone in target data map(to: xc) and an inner
30
+ ! target map(present, tofrom: xc) (data/evidence/dataenv_probe/short/c7882_a.f90).
31
+ ! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/short/
32
+ ! c7882_a.f90.*.json): CCE 19, 20, 21 exit status 1 ("Variable not found in
33
+ ! present table") in both modes; AFAR "RESULT check=pass" in both modes.
34
+ ! With a fixed-size character array (c7882_b) only CCE 19 fails; with
35
+ ! other items in the target data list (c7882_c, c7882_d) all three fail.
36
+ ! Expected: "RESULT check=pass".
37
+ program p
38
+ use omp_lib, only: omp_is_initial_device
39
+ implicit none
40
+ integer, parameter :: n = 48
41
+ character(len=4), allocatable :: xc(:)
42
+ integer :: i, hf1
43
+ allocate(xc(n))
44
+ do i = 1, n
45
+ xc(i) = achar(65 + mod(i * 33, 26)) // 'b#c'
46
+ end do
47
+ hf1 = -1
48
+ !$omp target data map(to: xc)
49
+ !$omp target map(present, tofrom: xc) map(tofrom: hf1)
50
+ hf1 = merge(1, 0, omp_is_initial_device())
51
+ !$omp end target
52
+ !$omp end target data
53
+ if (hf1 == 0) then
54
+ print '(a)', 'RESULT check=pass'
55
+ else
56
+ print '(a)', 'RESULT check=fail'
57
+ end if
58
+ end program p
59
+ ! site:
60
+ ! title: ftn: map(present, tofrom: xc) of an allocatable character array mapped by the enclosing target data stops with "Variable
61
+ ! + not found in present table"
62
+ ! control: ../vendor/checks/src/other/control/s1-7882-cce20-control.f90 map(tofrom: xc) without the present modifier
63
+ ! end site
@@ -0,0 +1,45 @@
1
+ ! Finding: CCE 19, 20, 21 crash (internal compiler error) on a
2
+ ! character scalar in the map clause of a standalone target enter data or
3
+ ! target exit data construct. In this smallest form optcg is killed by
4
+ ! signal 11 (ftn-2116 "optcg was terminated due to receipt of signal 013:
5
+ ! Segmentation fault"); in larger programs the same statements give
6
+ ! "Unhandled expression type in get base or dv mem" (s1 seed 8634; with a
7
+ ! derived-type variable and an internal subroutine in the program,
8
+ ! data/evidence/dataenv_probe/ice/a5.f90 gives it on CCE 19, 20 and 21) or
9
+ ! "unexpected type in TYPE_DEREF" (s1 seed 2952 on CCE 21). Character
10
+ ! arrays in the same constructs compile (data/evidence/dataenv_probe/ice/c2.f90).
11
+ !
12
+ ! Legal OpenMP 5.2: a character scalar is a variable list item of map
13
+ ! (5.2 §5.8.3; the enter and exit data constructs take map clauses, §13.6,
14
+ ! §13.7). (A gfortran -fopenmp accept is no evidence: owner, 2026-10-23.) Expected: "RESULT
15
+ ! check=pass".
16
+ !
17
+ ! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/icev3.log
18
+ ! and icev.log; data/evidence/dataenv_probe/ice/c1.f90 is this program):
19
+ ! - CCE 19.0.0, 20.0.2, 21.0.3: ftn-2116, optcg killed by signal 11; the
20
+ ! same with map(delete: xs) on exit data alone
21
+ ! (data/evidence/dataenv_probe/ice_char_exit_delete.f90);
22
+ ! - AFAR amdflang 24.0.0git: compiles and prints "RESULT check=pass".
23
+ ! - Tioga MI250X (gfx90a, HSA_XNACK=0): CCE 21 the same ICE
24
+ ! (results/t28_probe/g90/ice_char_exit_delete.cce21_g90.json).
25
+ ! Fuzz campaign s1: the "Unhandled expression type in get base or dv mem"
26
+ ! and "unexpected type in TYPE_DEREF" ICE cells of CCE 19/20/21 (most of
27
+ ! those programs map character scalars and arrays in target enter data;
28
+ ! not every one was reduced). The confirmer's reduction of seed 8634
29
+ ! (results/confirm/drafts/fuzz_s1_8634_cce21_gfx942_unified, 151 -> 76
30
+ ! lines, ICE site kept) keeps "!$omp target exit data map(delete: xs)" of
31
+ ! character(len=8) :: xs; this file is reduced from it by hand.
32
+ !
33
+ ! ftn -fopenmp -O2
34
+ program p
35
+ implicit none
36
+ character(len=8) :: xs
37
+ xs = 'abcdefgh'
38
+ !$omp target enter data map(to: xs)
39
+ !$omp target exit data map(release: xs)
40
+ print '(a)', 'RESULT check=pass'
41
+ end program p
42
+ ! site:
43
+ ! title: ftn: internal compiler error (optcg signal 11) for a character scalar in target enter data / exit data
44
+ ! control: ../vendor/checks/src/other/control/s1-8634-cce21-control.f90 a character array xs(2) instead of a character scalar
45
+ ! end site
@@ -0,0 +1,92 @@
1
+ ! Finding: CCE 21 (and CCE 19/20 in the campaign) reports ftn-1510
2
+ ! "Variable "HF2" must have its data scope explicitly declared because
3
+ ! DEFAULT(NONE) was specified" for an assignment in a target region of the
4
+ ! internal subroutine kp2, which has no default clause anywhere: the
5
+ ! default(none) is on an (empty) parallel construct in a sibling internal
6
+ ! subroutine kp1.
7
+ !
8
+ ! Legal OpenMP 5.2: default(none) restricts only "each variable that is
9
+ ! referenced in the construct" (5.2 §5.4.1 p.109); hf2 is referenced only
10
+ ! in kp2's target region, which has no default clause. Legality: offload.engine.prerun.check accepts it
11
+ ! (rerun: offload.engine.rules with the race rule and the restriction checks, and the AFAR
12
+ ! flang front end, not under test here); no compiler under test, gfortran or gcc is a legality
13
+ ! witness. (CCE also has the known ICE for masked in a target
14
+ ! region, cce19-target-parallel-single-ice.f90; this diagnostic comes
15
+ ! first.)
16
+ !
17
+ ! : hand reductions that drop the unused module, types
18
+ ! and dummies no longer show ftn-1510, and the program also needs the masked
19
+ ! construct, which CCE documents as unsupported in offload regions; the vendor
20
+ ! packet uses this generated program.
21
+ !
22
+ ! Observed (tuolumne, -O2, 2026-10-23): CCE 21.0.3 ftn-1510 for HF2 at
23
+ ! the assignment. Fuzz campaign s1: the ftn-1510 cells of CCE 19/20/21 for
24
+ ! variables other than a loop's iteration variable (decision D3; R11 where
25
+ ! AFAR compiles). Representative s1 seed 91 (cce21, copy mode; compile
26
+ ! only): the confirmer's reduction (results/confirm/drafts/
27
+ ! fuzz_s1_91_cce21_gfx942_copy, 223 -> 148 lines) reduced further by
28
+ ! deleting lines while the diagnostic stays (data/evidence/dataenv_probe/min_ice.py,
29
+ ! 148 -> 61 lines). A hand-written two-subroutine form without the
30
+ ! structure maps compiles (it ICEs on the masked construct instead), so
31
+ ! the trigger is not reduced further.
32
+ !
33
+ ! Fix: the empty fuzz_ext file is gone and the
34
+ ! program is reduced further by clause and list-item deletion as well as
35
+ ! lines (data/evidence/dataenv_probe/min_ice.py, 61 -> 41 lines, results/t28_probe/
36
+ ! short/): kp1 holds an empty parallel default(none) in a target region,
37
+ ! its sibling kp2 a target region whose masked construct assigns hf2; CCE
38
+ ! 21 reports ftn-1510 for HF2, CCE 19 and 20 stop earlier at their ICE for
39
+ ! masked in a target region (results/t28_probe/icev_fr1.log); AFAR
40
+ ! compiles it. kp2's unused dummies stay because min_ice does not edit
41
+ ! argument lists.
42
+ !
43
+ ! ftn -fopenmp -O2 (a bundle:
44
+ !@file fuzz_dmod.f90
45
+ module fuzz_dmod
46
+ implicit none
47
+ type :: mt_t
48
+ end type mt_t
49
+ end module fuzz_dmod
50
+ !@file fuzz_prog.f90
51
+ program fuzz_prog
52
+ use omp_lib, only: omp_is_initial_device
53
+ use fuzz_dmod
54
+ implicit none
55
+ type :: rec_t
56
+ end type rec_t
57
+ type(rec_t) :: dr
58
+ integer :: hf2
59
+ !$omp target data map(tofrom: dr)
60
+ !$omp end target data
61
+ contains
62
+ subroutine kp1(dr)
63
+ type(rec_t), intent(inout) :: dr
64
+ !$omp target
65
+ !$omp parallel default(none)
66
+ !$omp end parallel
67
+ !$omp end target
68
+ end subroutine kp1
69
+ subroutine kp2(ia, ic, xk1, xr8, dr, ms, p2)
70
+ integer, intent(inout) :: ia(:)
71
+ integer, allocatable, intent(inout) :: ic(:, :)
72
+ integer(kind=1), intent(inout) :: xk1(:)
73
+ real(kind=8), intent(in) :: xr8(:)
74
+ type(rec_t), intent(inout) :: dr
75
+ type(mt_t), intent(inout) :: ms
76
+ integer, intent(in), optional :: p2
77
+ !$omp target &
78
+ !$omp& map(tofrom: hf2)
79
+ !$omp masked
80
+ hf2 = merge(1, 0, omp_is_initial_device())
81
+ !$omp end masked
82
+ !$omp end target
83
+ end subroutine kp2
84
+ end program fuzz_prog
85
+ ! site:
86
+ ! title: ftn: default(none) on a parallel construct in one internal subroutine makes a variable of another subroutine's target
87
+ ! + region an error (ftn-1510)
88
+ ! control: ../vendor/checks/src/other/control/s1-91-cce21-control.f90 default(none) removed from the empty parallel construct of
89
+ ! + kp1 (the
90
+ ! + ftn-1510
91
+ ! + for HF2 goes away; CCE then stops at the masked construct, documented as unsupported in offload regions)
92
+ ! end site
@@ -0,0 +1,59 @@
1
+ ! Minimized by compliance.fuzz_min from fuzz seed 9443 (fuzz-3).
2
+ ! toolchain: afar (-O2, HSA_XNACK=1, OMP_TARGET_OFFLOAD=mandatory)
3
+ ! failure: run_error (crash)
4
+ ! message: 'present' map type modifier
5
+ ! expected: runs to completion (the host run does)
6
+ ! observed: device: fail crash: SIGABRT; host reference (cce21) checksum=0
7
+ ! Legal OpenMP 5.2: offload.engine.rules accepts it (offload.engine.prerun.check, rerun: with the
8
+ ! race rule and the restriction checks); NVHPC is no witness: it rejects it
9
+ ! (NVFORTRAN-S-0034-Syntax error at or near :); the check's other
10
+ ! witness, the AFAR flang front end, is the compiler under test and is not counted; no gfortran
11
+ ! or gcc is a legality witness.
12
+ ! also fails on: cce19
13
+ ! Finding: AFAR aborts at HSA_XNACK=1 (SIGABRT, "Call to
14
+ ! getTargetPointer returned null pointer ('present' map type modifier)")
15
+ ! at an empty target construct with map(close, present, to: xk1), where
16
+ ! the enclosing target data construct maps xk1 (an integer(1) array); at
17
+ ! HSA_XNACK=0 AFAR runs it. CCE 19 also ends with exit status 1 in both
18
+ ! modes; CCE 20 and 21 run it.
19
+ ! Legal OpenMP 5.2: the target data construct makes xk1 present, so the
20
+ ! present modifier is satisfied (5.2 §5.8.3); close is a hint.
21
+ ! Observed (tuolumne, MI300A, -O2, 2026-10-23,
22
+ ! results/t28_probe/rt/9443-afar.f90.*.json): AFAR SIGABRT at HSA_XNACK=1,
23
+ ! "RESULT checksum=0" at HSA_XNACK=0; CCE 19 exit status 1 (both modes);
24
+ ! CCE 20, 21 "RESULT checksum=0". Reduced from s1 seed 9443 by
25
+ ! tools/campaigns/fuzz.py minimize-one (146 -> 82 lines). The present-modifier aborts
26
+ ! are AFAR's largest unified-only group in the copy-mode comparison.
27
+ ! Related: ../afar-xnack1-present-not-enforced.f90 (AFAR at HSA_XNACK=1
28
+ ! does not enforce present for an absent item: the opposite symptom of the
29
+ ! same unified-memory present handling).
30
+ ! Shorter form (fix; written by hand from
31
+ ! the 82-line reduction, which git history keeps): an integer(1) array
32
+ ! alone in target data map(to: xk1) and an empty target with
33
+ ! map(close, present, to: xk1) (data/evidence/dataenv_probe/short/c9443_a.f90).
34
+ ! Observed (tuolumne, MI300A, -O2, 2026-10-23, results/t28_probe/short/
35
+ ! c9443_a.f90.*.json): AFAR SIGABRT at HSA_XNACK=1, "RESULT check=pass" at
36
+ ! HSA_XNACK=0; CCE 19, 20, 21 pass in both modes (CCE 19's exit status 1
37
+ ! needs the longer form). Without close (c9443_b) AFAR passes: the close
38
+ ! modifier is the trigger. Expected: "RESULT check=pass".
39
+ ! Known defect: this is the AFAR close + present abort at
40
+ ! HSA_XNACK=1 of fuzz/158-afar.f90 and fuzz/1131-afar.f90 (there after
41
+ ! target enter data, here inside target data); not a new finding.
42
+ program p
43
+ implicit none
44
+ integer, parameter :: n = 100
45
+ integer(1) :: xk1(n)
46
+ integer :: i
47
+ do i = 1, n
48
+ xk1(i) = int(mod(i * 17 + 16, 127), 1)
49
+ end do
50
+ !$omp target data map(to: xk1)
51
+ !$omp target map(close, present, to: xk1)
52
+ !$omp end target
53
+ !$omp end target data
54
+ print '(a)', 'RESULT check=pass'
55
+ end program p
56
+ ! site:
57
+ ! title: AFAR offload runtime at HSA_XNACK=1: map(close, ...) breaks presence lookup and device access (abort, memory fault)
58
+ ! control: ../vendor/checks/src/other/control/s1-9443-afar-control.f90 map(present, to: xk1) without the close modifier
59
+ ! end site
@@ -0,0 +1,78 @@
1
+ ! Finding: CCE 19 does not finish compiling this program (killed
2
+ ! after 300 s; the campaign's limit was 600 s), while CCE 20, CCE 21 and
3
+ ! AFAR compile it in seconds. The kernels: target constructs with
4
+ ! map(always, tofrom:) of a structure component and thread_limit, and a
5
+ ! target with a depend(out: go2(:)) on a declare target module array, in a
6
+ ! bundle with a default declare mapper and a submodule.
7
+ !
8
+ ! A compile that does not finish is the compiler's defect whatever the
9
+ ! program (RUL-COMPILE-TIME); the program passed the fuzz legality checks
10
+ ! (offload.engine.rules, gfortran -std=f2008, AFAR flang's front end).
11
+ !
12
+ ! Observed (tuolumne, -O2, 2026-10-23, results/t28_probe/hangv.log): CCE
13
+ ! 19.0.0 compile timeout; CCE 20.0.2, 21.0.3 and AFAR compile. Fuzz
14
+ ! campaign s1: the CCE 19 compile timeouts (93 cells in s1 and s1x0; every
15
+ ! one of those programs has target nowait with depend). Representative s1
16
+ ! seed 9914, reduced by deleting while the CCE 19 compile still ran after
17
+ ! 60 s (data/evidence/dataenv_probe/min_hang.py; 191 -> 99 lines).
18
+ !
19
+ ! Fix: reduced further by line, clause and
20
+ ! list-item deletion while the CCE 19 compile still ran after 90 s
21
+ ! (data/evidence/dataenv_probe/min_ice.py with the compile-timeout oracle, 83 -> 34
22
+ ! lines, results/t28_probe/short/; each kept candidate timed out). What
23
+ ! remains: an empty target with thread_limit(1), an empty target with
24
+ ! depend(out: go2(:)) on a declare target module array, and a module
25
+ ! procedure in a submodule; CCE 20 compiles it in 5 s, CCE 21 in 10 s,
26
+ ! AFAR in 2 s. (The reduction's empty fuzz_ext.f90, a translation unit of
27
+ ! its own, is left out here.)
28
+ !
29
+ ! ftn -fopenmp -O2 (a bundle: !@file marks start the files)
30
+ !@file fuzz_dmod.f90
31
+ module fuzz_dmod
32
+ implicit none
33
+ integer, parameter :: nm = 48
34
+ integer :: go2(nm)
35
+ !$omp declare target to(go2)
36
+ end module fuzz_dmod
37
+ !@file fuzz_smod.f90
38
+ module fuzz_smod
39
+ implicit none
40
+ interface
41
+ module integer function gs1(x)
42
+ integer, intent(in) :: x
43
+ end function gs1
44
+ end interface
45
+ end module fuzz_smod
46
+ !@file fuzz_ssub.f90
47
+ submodule (fuzz_smod) fuzz_ssub
48
+ implicit none
49
+ contains
50
+ module integer function gs1(x)
51
+ integer, intent(in) :: x
52
+ end function gs1
53
+ end submodule fuzz_ssub
54
+ !@file fuzz_prog.f90
55
+ program fuzz_prog
56
+ use fuzz_dmod
57
+ implicit none
58
+ !$omp target thread_limit(1)
59
+ !$omp end target
60
+ !$omp target depend(out: go2(:))
61
+ !$omp end target
62
+ end program fuzz_prog
63
+ ! spec (requirement): a target construct accepts a depend clause (with an array section as list item) that is associated with
64
+ ! the target task, and a thread_limit clause that bounds the threads of the contention group; the specification says nothing
65
+ ! about compile time, so the requirement that these constructs are compiled at all is only implied.
66
+ ! "The target construct generates a target task. The generated task region encloses the target region. If a depend clause is
67
+ ! present, it is associated with the target task. The device clause determines the device on which the target region executes.
68
+ ! If the nowait clause is present," (5.2 §13.8 p.284 l.14-16)
69
+ ! "If the thread_limit clause is specified, the number of threads will be less than or equal to threadlim. Otherwise, if the"
70
+ ! (5.2 §13.3 p.277 l.19-20)
71
+ ! spec (this program): an empty target with thread_limit(1) and an empty target with depend(out: go2(:)) on a declare target
72
+ ! module array are legal constructs; CCE 19 does not finish compiling the program (killed after 300 s), CCE 20, CCE 21 and AFAR
73
+ ! compile it in seconds.
74
+ ! site:
75
+ ! title: ftn 19 does not finish compiling target regions with map(always, tofrom:) of a structure component and a depend on a
76
+ ! + declare target array
77
+ ! control: ../vendor/checks/src/other/control/s1-9914-cce19-control.f90 thread_limit(1) removed from the first target
78
+ ! end site
@@ -0,0 +1,34 @@
1
+ #include <stdio.h>
2
+ #include <stdlib.h>
3
+ #include <openacc.h>
4
+
5
+ enum { n = 64 };
6
+ struct holder {
7
+ int *v;
8
+ };
9
+
10
+ int main(void) {
11
+ int b[n];
12
+ int host_flag = 1, sum = 0;
13
+ struct holder h;
14
+ h.v = malloc(n * sizeof(int));
15
+ for (int i = 0; i < n; i++) {
16
+ h.v[i] = 1;
17
+ b[i] = 0;
18
+ }
19
+ #pragma acc enter data copyin(h)
20
+ #pragma acc enter data copyin(h.v[0:n])
21
+ #pragma acc parallel loop copyout(b) copy(host_flag) present(h)
22
+ for (int i = 0; i < n; i++) {
23
+ if (i == 0) host_flag = acc_on_device(acc_device_host) ? 1 : 0;
24
+ b[i] = i + 1 + h.v[i];
25
+ }
26
+ #pragma acc exit data delete(h.v[0:n])
27
+ #pragma acc exit data delete(h)
28
+ for (int i = 0; i < n; i++)
29
+ sum += b[i];
30
+ free(h.v);
31
+ printf("sum= %d\n", sum);
32
+ printf("RESULT ran_on_host=%d check=%s\n", host_flag, sum == 2144 ? "pass" : "fail");
33
+ return 0;
34
+ }
@@ -0,0 +1,26 @@
1
+ program delete_only
2
+ use openacc, only: acc_device_host, acc_on_device
3
+ implicit none
4
+ integer, parameter :: n = 64
5
+ type :: holder
6
+ integer, allocatable :: v(:)
7
+ end type holder
8
+ type(holder) :: h
9
+ integer :: b(n)
10
+ integer :: i, host_flag
11
+ allocate(h%v(n))
12
+ h%v = 1
13
+ b = 0
14
+ host_flag = 1
15
+ !$acc enter data copyin(h)
16
+ !$acc enter data copyin(h%v)
17
+ !$acc parallel loop copyout(b) copy(host_flag) present(h)
18
+ do i = 1, n
19
+ if (i == 1) host_flag = merge(1, 0, acc_on_device(acc_device_host))
20
+ b(i) = i + h%v(i)
21
+ end do
22
+ !$acc exit data delete(h%v)
23
+ !$acc exit data delete(h)
24
+ print '(a,i0)', 'sum= ', sum(b)
25
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', sum(b) == 2144)
26
+ end program delete_only
@@ -0,0 +1,31 @@
1
+ program map_to_pointer
2
+ use omp_lib, only: omp_is_initial_device
3
+ implicit none
4
+ integer, parameter :: n = 64
5
+ integer, pointer :: wp(:)
6
+ integer :: b(n), zc(1)
7
+ integer :: i, host_flag, changed
8
+ logical :: shared_mem
9
+ allocate(wp(n))
10
+ wp = 0
11
+ b = 0
12
+ host_flag = 1
13
+ zc = 0
14
+ ! separate memory? (a write to a map(to:) array is visible on the host only when storage is shared)
15
+ !$omp target map(to: zc)
16
+ zc(1) = 1
17
+ !$omp end target
18
+ shared_mem = zc(1) == 1
19
+ !$omp target map(from: b) map(tofrom: host_flag) map(to: wp)
20
+ host_flag = merge(1, 0, omp_is_initial_device())
21
+ do i = 1, n
22
+ wp(i) = 2*i
23
+ b(i) = wp(i) + 1
24
+ end do
25
+ !$omp end target
26
+ changed = count(wp /= 0)
27
+ print '(a,i0,a,i0,a,l1)', 'b(n)= ', b(n), ' host wp changed: ', changed, ' shared_mem= ', shared_mem
28
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', &
29
+ merge('pass', 'fail', b(n) == 2*n + 1 .and. (shared_mem .or. changed == 0))
30
+ deallocate(wp)
31
+ end program map_to_pointer