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: AFAR amdflang ignores the stride of a Fortran array
2
+ ! # section in `target update`: from(a(1:7:2)) copies all of a
3
+ !
4
+ ! - compilers: AFAR amdflang 24.0.0git (drop 24.3.0), -O2: MI300A gfx942
5
+ ! (HSA_XNACK=0; gate below) and MI250X gfx90a (HSA_XNACK=0; one probe of
6
+ ! three runs, not gated)
7
+ ! - expected: a: 11.0 2.0 13.0 4.0 15.0 6.0 17.0 8.0
8
+ ! / strided bad= 0 contiguous bad= 0
9
+ ! - actual: a: 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0
10
+ ! / strided bad= 4 (every element of a, a(8) too, comes back)
11
+ ! (results/harvest/probe/gate/afar-flang-strided.r*.jsonl; gfx90a:
12
+ ! results/harvest/probe/f1f2.jsonl, strided_f.f90)
13
+ ! - gate (four environments on gfx942 X0, tools/campaigns/harvest_probe.py
14
+ ! --gate-envs, offload.engine.gate.judge): the stored run (three repeats) and
15
+ ! (a), (b), (d) on tuolumne1020, (c) on tuolumne1021: the same wrong
16
+ ! answer in every run; confirmed.
17
+ ! - rule: "The list items may include array sections with stride
18
+ ! expressions ... If a list item is an array or array section then it is
19
+ ! treated as if it is replaced by each of its array elements in the
20
+ ! clause" (OpenMP 5.2 §5.9 p.165 l.13-17); a(1:7:2) is a(1), a(3), a(5),
21
+ ! a(7) (a subscript triplet, Fortran 2008 6.5.3.3.2).
22
+ ! - copy mode only: with storage shared between host and device
23
+ ! (HSA_XNACK=1) every device write is visible, so elements outside the
24
+ ! section may differ legitimately.
25
+ ! - same-compiler controls (correct): update from(b(1:4)) (contiguous);
26
+ ! AFAR amdclang's C form from(a[0:4:2]) (harvest/cce-c-strided-target-update.c).
27
+ ! - other families: none runs it: CCE ftn 19.0.0, 20.0.2, 21.0.3 reject it
28
+ ! ("ftn-1747: The stride specified for array "A" in the MAP clause must
29
+ ! not be greater than 1", although its man page says "Non-contiguous
30
+ ! updates are supported for normal array slice expressions that specify a
31
+ ! lower bound, upper bound, and optional stride"); NVHPC nvfortran 25.11
32
+ ! and 26.9 reject it (NVFORTRAN-S-0034 syntax error at the stride).
33
+ ! - legality: legal by the quoted spec text only (no independent compiler
34
+ ! witness: AFAR is the compiler under test, and CCE and NVHPC reject the
35
+ ! stride). offload.engine.rules with the race rule accepts it. 5.2 §5.9 allows
36
+ ! strided array sections in motion clauses; the map clause's contiguity
37
+ ! restriction (CCE's ftn-1747 speaks of "the MAP clause") does not apply
38
+ ! to `target update`. CCE's rejection is the finding
39
+ ! fuzz/s1-6888-cce21.f90 (ftn-1747); NVHPC's is a candidate defect. That
40
+ ! finding calls AFAR correct on its strided `to`: its program checks the
41
+ ! updated elements only, where an ignored stride would not show.
42
+ ! - found by: while reducing the CCE C strided-update failures of
43
+ ! llvm-project offload/test/offloading/strided_update/ (no Fortran test
44
+ ! there).
45
+ ! AFAR: amdflang -fopenmp --offload-arch=gfx942 -O2
46
+ ! Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
47
+ program strided_f
48
+ use omp_lib
49
+ implicit none
50
+ real(8) :: a(8), b(8)
51
+ integer :: i, bad_a, bad_b, on_host
52
+ do i = 1, 8
53
+ a(i) = i
54
+ b(i) = i
55
+ end do
56
+ on_host = 1
57
+ !$omp target data map(to: a, b)
58
+ !$omp target map(from: on_host)
59
+ if (omp_is_initial_device()) then
60
+ on_host = 1
61
+ else
62
+ on_host = 0
63
+ end if
64
+ do i = 1, 8
65
+ a(i) = a(i) + 10
66
+ b(i) = b(i) + 10
67
+ end do
68
+ !$omp end target
69
+ !$omp target update from(a(1:7:2))
70
+ !$omp target update from(b(1:4))
71
+ !$omp end target data
72
+ bad_a = 0
73
+ bad_b = 0
74
+ do i = 1, 8
75
+ if (mod(i, 2) == 1) then
76
+ if (a(i) /= i + 10) bad_a = bad_a + 1
77
+ else
78
+ if (a(i) /= i) bad_a = bad_a + 1
79
+ end if
80
+ if (i <= 4) then
81
+ if (b(i) /= i + 10) bad_b = bad_b + 1
82
+ else
83
+ if (b(i) /= i) bad_b = bad_b + 1
84
+ end if
85
+ end do
86
+ print '(a,8f6.1)', 'a:', a
87
+ print '(a,i0,a,i0)', 'strided bad= ', bad_a, ' contiguous bad= ', bad_b
88
+ if (bad_a == 0) then
89
+ print '(a,i0,a)', 'RESULT ran_on_host=', on_host, ' check=pass'
90
+ else
91
+ print '(a,i0,a)', 'RESULT ran_on_host=', on_host, ' check=fail'
92
+ end if
93
+ end program strided_f
94
+ ! site:
95
+ ! title: amdflang: target update from a strided array section copies the whole array
96
+ ! end site
@@ -0,0 +1,58 @@
1
+ ! # Finding (known-issues harvest): CCE faults on a module allocatable in
2
+ ! declare create at HSA_XNACK=1 (MI300A)
3
+ !
4
+ ! - source: MFC's compiler-ticket list (PE-53844, "CCE >17 crashes on host_data use_device for
5
+ ! module variables"), reconstructed as data/bench/harvest-known hk-008 (a declare create module
6
+ ! allocatable, host_data use_device, a deviceptr routine); the fault is at the first compute
7
+ ! construct, before host_data, so this file drops host_data
8
+ ! (data/reports/harvest-known/v008-declare-create-alloc.f90)
9
+ ! - compilers: CCE 19.0.0, 20.0.2, 21.0.3, ftn -h acc -O2, MI300A at HSA_XNACK=1 (THP always)
10
+ ! - expected: bad = 0, RESULT ... check=pass. For an allocatable in declare create, "for an
11
+ ! allocate statement for var ... memory will be allocated in both local memory as well as in the
12
+ ! current device memory" on a non-shared memory device (OpenACC 3.4 §2.13.2 p.83 l.3053-3057); on
13
+ ! a shared memory device the host memory is the device's; either way buf is present in the
14
+ ! parallel loop and the update copies (or leaves) the values
15
+ ! - actual: CCE 19 and 20: "Memory access fault by GPU node-4 ... on address 0x6000. Reason: Write
16
+ ! access to a read-only page." (SIGABRT); CCE 21: "hipStreamSynchronize returned
17
+ ! hipErrorIllegalAddress ... from v008-declare-create-alloc.f90:19" (the parallel loop), exit 1
18
+ ! - control (same compiler): HSA_XNACK=0 passes; at HSA_XNACK=1 a local allocatable made present
19
+ ! with enter data create passes (c008-local-enter-data.f90), and a fixed-size module array in
20
+ ! declare create passes (c008-fixed-module.f90), both in data/reports/harvest-known/
21
+ ! - other families: NVHPC 25.11 and 26.9 (OpenACC; separate and managed memory) pass; AFAR has no
22
+ ! OpenACC
23
+ ! - legality: the pre-run check (rules and the AFAR front end with -fopenacc) accepts it; present
24
+ ! requires the data present, which declare create and the allocate statement provide
25
+ ! - also: hk-007 (MFC ticket OLCFHELP-19298 / HPECOE-71) and hk-013 (thornado commit 2253976852,
26
+ ! "another CCE bug") hold a module allocatable in declare create too, and fail the same way on CCE
27
+ ! 19/20/21 at HSA_XNACK=1 only (19 and 20 fault, 21 hipErrorIllegalAddress; another node)
28
+ ! - evidence: results/harvest-known/main (hk-007, hk-008, hk-013, CCE 19/20/21 at HSA_XNACK=1),
29
+ ! results/harvest-known/probes.tuolumne.jsonl, probes.wingtip.jsonl
30
+ module v008_m
31
+ implicit none
32
+ real(8), allocatable :: buf(:)
33
+ !$acc declare create(buf)
34
+ end module v008_m
35
+
36
+ program v008
37
+ use openacc
38
+ use v008_m
39
+ implicit none
40
+ integer, parameter :: n = 4096
41
+ integer :: i, bad, hk_host
42
+ allocate(buf(n))
43
+ !$acc parallel loop present(buf)
44
+ do i = 1, n
45
+ buf(i) = real(i, 8)
46
+ end do
47
+ !$acc update host(buf)
48
+ bad = count(buf /= [(real(i, 8), i = 1, n)])
49
+ hk_host = 1
50
+ !$acc parallel num_gangs(1) copy(hk_host)
51
+ if (.not. acc_on_device(acc_device_host)) hk_host = 0
52
+ !$acc end parallel
53
+ print '(a,i0)', 'bad = ', bad
54
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', hk_host, ' check=', merge('pass', 'fail', bad == 0)
55
+ end program v008
56
+ ! site:
57
+ ! title: ftn (OpenACC): a module allocatable in declare create faults at HSA_XNACK=1
58
+ ! end site
@@ -0,0 +1,100 @@
1
+ // # Finding: CCE craycc stops with "overlaps present region but is
2
+ // # not contained" when a target region implicitly maps a structure some of
3
+ // # whose members a target data construct already mapped
4
+ //
5
+ // - compilers: CCE craycc 19.0.0, 20.0.2, 21.0.3, 21.0.4, -O2: this file on
6
+ // MI300A gfx942 (HSA_XNACK 0 and 1); the OpenMP Examples program
7
+ // target_struct_map.4 (Case 1 of which this file is) also on MI250X gfx90a.
8
+ // - expected: 4 202 dev= 1 (s.p[0] = 0*2+4, s.p[99] = 99*2+4)
9
+ // - actual: no output; the runtime stops at the target construct:
10
+ // "ACC: libcrayacc/acc_present.c:762 CRAY_ACC_ERROR - Host region (... to
11
+ // ...) overlaps present region (... to ... index 0) but is not contained
12
+ // for 's'", exit status 1, every run, both memory modes.
13
+ // - rule: the target construct references s (the call saxpy(&s)), so s is
14
+ // treated as if it appeared in a map clause with map-type tofrom (5.2 §5.8.1
15
+ // p.149 l.4-5); s.a, s.b and s.p are already present as one storage block
16
+ // (list items with the same containing structure form "a single mappable
17
+ // storage block", 5.2 §5.8.3 p.152 l.28-31); and "If a single contiguous
18
+ // part of the original storage of a list item with an implicit data-mapping
19
+ // attribute has corresponding storage in the device data environment prior
20
+ // to a task encountering the construct on which the map clause appears,
21
+ // only that part of the original storage will have corresponding storage in
22
+ // the device data environment as a result of the map clause" (5.2 §5.8.3
23
+ // p.154 l.18-21; the same text in 5.0 §2.19.7.1 p.320 l.18-21). The
24
+ // OpenMP Examples document this form as working (target_struct_map.4,
25
+ // Case 1: "Explicitly mapping S1.p, S1.a, and S1.b rather than S1 avoids
26
+ // mapping the entire structure").
27
+ // - same-compiler controls (correct, 4 202 dev= 1 on CCE 19, 20, 21, 21.0.4):
28
+ // s.big added to the target data map (the whole structure present); no
29
+ // target data and map(s.p[:N], s.a, s.b) on the target construct (the
30
+ // Examples' Case 3, 5.2 §5.8.3 p.154 l.22-27). Both are files now
31
+ // (controls/cce-c-implicit-struct-map-partly-present-whole-control.c and
32
+ // controls/cce-c-implicit-struct-map-partly-present-target-only-control.c);
33
+ // re-run 2026-11-01 on MI300A, HSA_XNACK 0 and 1: correct on CCE 19, 20,
34
+ // 21, 21.0.4 and on AFAR, while this file fails on CCE 19, 20, 21, 21.0.4
35
+ // and is correct on AFAR (results/triage2/cce.jsonl).
36
+ // - also: the Examples' Case 2 (target data map(s.p[:N]), then target
37
+ // map(s.p[:0], s.a, s.b) with s implicit) stops the same way on every CCE
38
+ // cell; libgomp's target-link-2.c (declare target link(arr), enter data
39
+ // map(arr[5:10]), then a target region that references arr) stops with the
40
+ // same message on CCE 19, 20, 21 (gfx90a): an implicit map (5.2 §5.8.1
41
+ // p.148 l.9-11) of a partly present array.
42
+ // - other families: AFAR amdclang prints 4 202 dev= 1 (this file and the
43
+ // three Examples cases, gfx942 X0 and X1, gfx90a). NVHPC nvc 25.11 and 26.9
44
+ // (A100, separate and managed memory) fail this file at run time, exit
45
+ // status 1, with a different message: "FATAL ERROR: variable in data clause
46
+ // is partially present on the device: name=s" at the target construct (the
47
+ // present table lists s.a, s.b and, in separate memory, s.p[:100]). That is
48
+ // the OpenACC runtime's partial-presence error, and it reaches further than
49
+ // CCE's: NVHPC also fails the whole-structure control (s.big added, so every
50
+ // member is present, each as its own entry) that CCE and AFAR run correctly,
51
+ // and runs the target-only control correctly. All four gate environments
52
+ // agree on both releases and both memory modes (site matrix rows,
53
+ // 2026-11-01, c on another GPU; a rerun of the file and both controls, three
54
+ // runs each, in a, b, d on GPU 0 and c on GPU 1:
55
+ // results/triage2/wingtip/nvhpc/nv.[abcd].jsonl). The Examples program's
56
+ // SIGSEGV on NVHPC is the 8 MB stack (its three structures hold 12 MB): with
57
+ // a 64 MB stack (ulimit -s 65536) it stops at Case 1 with the same
58
+ // partial-presence error (name=S1; nv3.jsonl). The failure is NVHPC's own
59
+ // and not CCE's, so this finding stays CCE's and the site shows NVHPC as
60
+ // failing another way; an NVHPC finding (the whole-structure control is the
61
+ // cleaner reproducer) is not made here. GCC 16.2 does not compile this file:
62
+ // the target data map list is the trigger of an internal compiler error
63
+ // on both targets (gcc-c-target-data-struct-pointer-section-ice.c).
64
+ // - harvest: dev programs h2-ompex-target-struct-map-4-c and
65
+ // h2-gomp-ccc-target-link-2 (data/bench/harvest2), wrong_answer on every CCE
66
+ // cell, gate confirmed on gfx90a.
67
+ // - legality: offload.engine.prerun.check accepts it (the rules with the race
68
+ // rule, and the AFAR clang front end), and accepts both controls (re-checked
69
+ // 2026-11-01, Tuolumne pbatch; results/triage2/legal2.json). The rule it
70
+ // relies on is the one quoted above (5.2 §5.8.3 p.154 l.18-21: the part of
71
+ // an implicitly mapped list item that is present is the only part mapped);
72
+ // AFAR runs the file correctly, and the OpenMP Examples document the form.
73
+ // CCE: craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
74
+ // -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942 -fopenmp-version=52 -O2
75
+ // Run: OMP_TARGET_OFFLOAD=mandatory ./a.out
76
+ #include <stdio.h>
77
+ #include <stdlib.h>
78
+ #include <omp.h>
79
+ #define N 100
80
+ struct foo { char big[200000]; float a, b; float *p; };
81
+ #pragma omp begin declare target
82
+ void saxpy(struct foo *s) { for (int i = 0; i < N; i++) s->p[i] = s->p[i] * s->a + s->b; }
83
+ #pragma omp end declare target
84
+ int main(void) {
85
+ struct foo s;
86
+ int dev = 0;
87
+ s.a = 2; s.b = 4; s.p = malloc(sizeof(float) * N);
88
+ for (int i = 0; i < N; i++) s.p[i] = i;
89
+ #pragma omp target data map(s.p[:N], s.p, s.a, s.b)
90
+ #pragma omp target map(from: dev)
91
+ { saxpy(&s); dev = !omp_is_initial_device(); }
92
+ printf("%.0f %.0f dev= %d\n", s.p[0], s.p[N - 1], dev);
93
+ int ok = s.p[0] == 4 && s.p[N - 1] == 202;
94
+ printf("RESULT ran_on_host=%d check=%s\n", !dev, ok ? "pass" : "fail");
95
+ return 0;
96
+ }
97
+ // site:
98
+ // title: craycc stops with "overlaps present region but is not contained" when a target region implicitly maps a partly mapped
99
+ // + structure
100
+ // end site
@@ -0,0 +1,74 @@
1
+ // # Finding: CCE craycc ignores the stride of an array section in
2
+ // # `target update`: from(a[0:4:2]) copies a[0..3], to(a[1:4:2]) a[1..4]
3
+ //
4
+ // - compilers: CCE craycc 19.0.0, 20.0.2, 21.0.3, -O2: this file on MI300A
5
+ // gfx942 and MI250X gfx90a (HSA_XNACK=0); the 25 non-holdout upstream
6
+ // tests on both
7
+ // - expected: a: 10 1 12 3 14 5 16 7 / strided bad= 0 contiguous bad= 0
8
+ // elementwise bad= 0
9
+ // - actual: a: 10 11 12 13 4 5 6 7 / strided bad= 4 (the first 4 elements,
10
+ // not every second one); `to(a[1:4:2])` likewise writes a[1..4] (a probe,
11
+ // results/harvest/probe/src/strided_to.c and f1f2.jsonl, git-ignored)
12
+ // - rule: "The list items may include array sections with stride
13
+ // expressions ... If a list item is an array or array section then it is
14
+ // treated as if it is replaced by each of its array elements in the
15
+ // clause" (OpenMP 5.2 §5.9 p.165 l.13-17), and a[0:4:2] denotes the
16
+ // elements "{ lower-bound, lower-bound + stride, lower-bound + 2 * stride,
17
+ // ... , lower-bound + ((length - 1) * stride) }" (5.2 §3.2.5 p.64
18
+ // l.22-23): a[0], a[2], a[4], a[6].
19
+ // - copy mode only: with storage shared between host and device
20
+ // (HSA_XNACK=1) every device write is visible, so elements outside the
21
+ // section may differ legitimately (17 of the 25 non-holdout upstream tests
22
+ // fail there on AFAR and CCE alike; they are copy-only in
23
+ // catalog/harvest_copy_only.yaml).
24
+ // - same-compiler controls (correct): from(b[0:4]) (contiguous); the four
25
+ // elements as four `target update from(c[k:1])`.
26
+ // - other families: AFAR amdclang correct on this file and on all 25
27
+ // non-holdout upstream tests (gfx942 and gfx90a, X0). NVHPC nvc 25.11 and
28
+ // 26.9 reject the stride ("expected a ]", this file and the 25 tests, both
29
+ // modes).
30
+ // - vendor claim: "Non-contiguous updates are supported for normal array
31
+ // slice expressions that specify a lower bound, upper bound, and optional
32
+ // stride" (CCE 19.0.0, 20.0.2, 21.0.3 intro_openmp, data/index/claims/).
33
+ // - upstream: the 25 non-holdout tests of llvm-project
34
+ // offload/test/offloading/strided_update/ fail on every CCE cell at X0
35
+ // (gfx942 and gfx90a; gate confirmed).
36
+ // - legality: offload.engine.prerun.check accepts it (the rules and the AFAR
37
+ // clang front end).
38
+ // CCE: craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
39
+ // -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942 -fopenmp-version=52 -O2
40
+ // Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
41
+ #include <stdio.h>
42
+ #include <omp.h>
43
+ int main(void) {
44
+ double a[8], b[8], c[8];
45
+ for (int i = 0; i < 8; i++) a[i] = b[i] = c[i] = i;
46
+ int on_host = 1, bad_a = 0, bad_b = 0, bad_c = 0;
47
+ #pragma omp target data map(to: a[0:8], b[0:8], c[0:8])
48
+ {
49
+ #pragma omp target map(from: on_host)
50
+ {
51
+ on_host = omp_is_initial_device();
52
+ for (int i = 0; i < 8; i++) { a[i] += 10; b[i] += 10; c[i] += 10; }
53
+ }
54
+ #pragma omp target update from(a[0:4:2])
55
+ #pragma omp target update from(b[0:4])
56
+ #pragma omp target update from(c[0:1])
57
+ #pragma omp target update from(c[2:1])
58
+ #pragma omp target update from(c[4:1])
59
+ #pragma omp target update from(c[6:1])
60
+ }
61
+ for (int i = 0; i < 8; i++) {
62
+ bad_a += a[i] != (i % 2 == 0 ? i + 10 : i);
63
+ bad_b += b[i] != (i < 4 ? i + 10 : i);
64
+ bad_c += c[i] != (i % 2 == 0 ? i + 10 : i);
65
+ }
66
+ printf("a:");
67
+ for (int i = 0; i < 8; i++) printf(" %g", a[i]);
68
+ printf("\nstrided bad= %d contiguous bad= %d elementwise bad= %d\n", bad_a, bad_b, bad_c);
69
+ printf("RESULT ran_on_host=%d check=%s\n", on_host, bad_a == 0 ? "pass" : "fail");
70
+ return 0;
71
+ }
72
+ // site:
73
+ // title: target update of a strided array section (C) copies the contiguous range instead of every second element
74
+ // end site
@@ -0,0 +1,67 @@
1
+ ! # Finding: CCE ftn ICE "Could not find call"
2
+ ! # (v_acc_dataplacement.c) when a target parallel region assigns the result
3
+ ! # of omp_get_num_threads() or omp_get_thread_num()
4
+ !
5
+ ! - compilers: CCE ftn 19.0.0, 20.0.2, 21.0.3, -O2: this file on MI300A
6
+ ! gfx942 (HSA_XNACK 0 and 1); its variants on MI250X gfx90a (19.0.0,
7
+ ! 21.0.3); the upstream test on gfx942 (both modes) and gfx90a (gate
8
+ ! confirmed)
9
+ ! - expected: compiles; prints x= <the team's size> (at least 1)
10
+ ! - actual: ftn: INTERNAL COMPILER ERROR: "Could not find call"
11
+ ! (/workspace/crayftn/pdgcs/v_acc_dataplacement.c, line 4289 in 19.0.0,
12
+ ! 4343 in 20.0.2, 4378 in 21.0.3) (results/harvest/probe/f6.jsonl,
13
+ ! findings_gfx942.jsonl)
14
+ ! - rule: a legal program (OpenMP 5.2 §10.1 parallel, §18.2.2
15
+ ! omp_get_num_threads, §18.2.4 omp_get_thread_num; both routines are
16
+ ! among the five CCE documents as supported in offload regions:
17
+ ! intro_openmp, data/index/claims/hpe-cce-21.0.3-intro_openmp.txt). An ICE
18
+ ! is a compiler bug.
19
+ ! - conditions (each a one-change variant, CCE 19.0.0 and 21.0.3): the same
20
+ ! ICE with x = omp_get_thread_num(); with the result assigned to a private
21
+ ! n, then x = n; with `target` and a nested `parallel` instead of the
22
+ ! combined construct; with x an array element; with map(tofrom: x); with
23
+ ! `use omp_lib, only: ...`; in a main program or a subroutine, with or
24
+ ! without SAVE. No ICE: `x = 7` (no call); a call in an IF condition only
25
+ ! (`if (omp_get_thread_num() == 0) then` ..., as in
26
+ ! cce19-target-parallel-guarded-loop.f90); `target teams` with
27
+ ! x = omp_get_num_teams() (x= 220).
28
+ ! - other families: AFAR amdflang compiles and runs it (x= 256, gfx942 at
29
+ ! HSA_XNACK 0 and 1; parallel = T on the upstream test); NVHPC nvfortran
30
+ ! 25.11 and 26.9 compile and run it (x= 13824, A100, separate and
31
+ ! managed).
32
+ ! - upstream: llvm-project offload/test/offloading/fortran/
33
+ ! basic-target-parallel-region.f90 (CCE ICE on every CCE cell, gate
34
+ ! confirmed on gfx90a); AOMP test/smoke/flang-313307-simple-spmd hits the
35
+ ! same ICE.
36
+ ! - legality: offload.engine.prerun.check accepts it (the rules with the race
37
+ ! rule, and the AFAR flang front end); only thread 0 writes x.
38
+ ! CCE: ftn -fopenmp -O2 (module load cce/<v> craype-accel-amd-gfx942 rocm/<r>;
39
+ ! module unload cray-mpich)
40
+ ! Run: OMP_TARGET_OFFLOAD=mandatory ./a.out
41
+ program tp_guarded
42
+ use omp_lib
43
+ implicit none
44
+ integer :: x, on_host
45
+ x = -1
46
+ on_host = 1
47
+ !$omp target map(from: on_host)
48
+ if (omp_is_initial_device()) then
49
+ on_host = 1
50
+ else
51
+ on_host = 0
52
+ end if
53
+ !$omp end target
54
+ !$omp target parallel map(from: x)
55
+ if (omp_get_thread_num() == 0) x = omp_get_num_threads()
56
+ !$omp end target parallel
57
+ print '(a,i0)', 'x= ', x
58
+ if (x >= 1) then
59
+ print '(a,i0,a)', 'RESULT ran_on_host=', on_host, ' check=pass'
60
+ else
61
+ print '(a,i0,a)', 'RESULT ran_on_host=', on_host, ' check=fail'
62
+ end if
63
+ end program tp_guarded
64
+ ! site:
65
+ ! title: ftn: internal compiler error ("Could not find call") when a target parallel region assigns omp_get_num_threads() or
66
+ ! + omp_get_thread_num()
67
+ ! end site
@@ -0,0 +1,69 @@
1
+ ! # Finding (known-issues harvest): CCE rejects a module's named-constant array
2
+ ! referenced in a declare target routine
3
+ !
4
+ ! - source: holdout (a case of the known-issues harvest, held out); this file is the
5
+ ! minimal form (data/reports/harvest-known/v-param-array-routine.f90)
6
+ ! - compilers: CCE 19.0.0, 20.0.2, 21.0.3 (ftn -fopenmp), gfx942 and gfx90a
7
+ ! - expected: the program compiles and prints RESULT ... check=pass: pick returns c(i), a
8
+ ! module named constant [1.5, 2.5]
9
+ ! - actual: "ftn-7066 ftn: ERROR PICK ... Unsupported accelerator code error: Global in
10
+ ! accelerator routine without declare -- c" on every CCE release and both architectures. HPE
11
+ ! lists CAST-36609 ("ftn-7066 ... Global in accelerator routine without declare") as resolved
12
+ ! in CCE 19.0.0 (data/index/claims/hpe-cce-19.0.0-release_info.txt line 114); this trigger remains
13
+ ! - control (same compiler): passes with a scalar named constant in the routine
14
+ ! (c-param-scalar-routine.f90), with the array a named constant of the routine itself
15
+ ! (c-param-array-local.f90), and with the array indexed in the target region itself
16
+ ! (c-param-array-region-only.f90); all in data/reports/harvest-known/
17
+ ! - other families: AFAR compiles and runs it (check=pass); NVHPC 25.11 and 26.9 reject it too
18
+ ! (harvest/nvhpc-named-constant-array-declare-target-routine-rejected.f90)
19
+ ! - legality: Fortran named constants are not variables; OpenMP 5.2's declare target
20
+ ! requirement covers variables only: "A variable referenced in a target region but not the
21
+ ! target construct that is not declared in the target region must appear in a declare target
22
+ ! directive" (§13.8 p.286 l.31-32), and named constants are predetermined shared (§5.1.1 p.98
23
+ ! l.11: "Assumed-size arrays and named constants are shared"); a named constant is a list
24
+ ! item only "in clauses where it is explicitly allowed" (§3.2.1 p.61 l.10), and declare
25
+ ! target's clauses do not name it. The pre-run check (rules and the AFAR front end) accepts the
26
+ ! program
27
+ ! - the OpenACC form (routine seq; hk-015) fails the same way on CCE, but OpenACC 3.4
28
+ ! §2.15.2 p.98 l.3623-3625 asks a declare directive for "Fortran module ... variables or arrays"
29
+ ! used in accelerator routines, which may cover a named-constant array: not claimed here
30
+ ! - evidence: results/harvest-known/main.tioga (gate: confirmed), main (Tuolumne),
31
+ ! the MI250X probe runs' output (results/harvest-known/logs/tioga/probe.f656gDkdAd9R.log and
32
+ ! probe.f656iLRSBypT.log; their rows file probes.tioga.jsonl was not kept); the three controls on CCE 19/20/21, both modes:
33
+ ! results/findings-baseline/harvest-cparam-controls.cce.jsonl
34
+ module vpa_m
35
+ implicit none
36
+ real(8), parameter :: c(2) = [1.5d0, 2.5d0]
37
+ contains
38
+ subroutine pick(i, x)
39
+ !$omp declare target
40
+ integer, intent(in) :: i
41
+ real(8), intent(out) :: x
42
+ x = c(i)
43
+ end subroutine pick
44
+ end module vpa_m
45
+
46
+ program vpa
47
+ use omp_lib
48
+ use vpa_m
49
+ implicit none
50
+ integer :: k, bad, hk_host
51
+ real(8) :: r(100)
52
+ r = 0
53
+ !$omp target teams distribute parallel do map(from: r)
54
+ do k = 1, 100
55
+ call pick(1 + mod(k, 2), r(k))
56
+ end do
57
+ bad = 0
58
+ do k = 1, 100
59
+ if (r(k) /= c(1 + mod(k, 2))) bad = bad + 1
60
+ end do
61
+ hk_host = 1
62
+ !$omp target map(tofrom: hk_host)
63
+ if (.not. omp_is_initial_device()) hk_host = 0
64
+ !$omp end target
65
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', hk_host, ' check=', merge('pass', 'fail', bad == 0)
66
+ end program vpa
67
+ ! site:
68
+ ! title: ftn rejects a module's named-constant array referenced in a declare target routine
69
+ ! end site
@@ -0,0 +1,64 @@
1
+ ! # Finding (known-issues harvest): CCE does not convert a C_PTR list item of
2
+ ! use_device_ptr: the region sees the host address
3
+ !
4
+ ! - source: the NVIDIA forum topic 290317 (nvfortran dropping use_device_addr on an allocatable,
5
+ ! TPR 36867) gave data/bench/harvest-known hk-040, which compares the use_device_addr address of an
6
+ ! allocatable with the use_device_ptr address of a C_PTR to it; this file is the use_device_ptr
7
+ ! half (data/reports/harvest-known/v040-ptr-print.f90)
8
+ ! - compilers: CCE 19.0.0, 20.0.2, 21.0.3 (ftn -fopenmp), copy mode: gfx90a (Tioga, HSA_XNACK=0)
9
+ ! and gfx942 at HSA_XNACK=0 (MI300A); at HSA_XNACK=1 on MI300A the mapped address is the host
10
+ ! address, so the missing conversion is not visible (check=pass)
11
+ ! - expected: seen equals mapped (the device address of tab), RESULT ... check=pass
12
+ ! - actual: seen equals host: e.g. CCE 19 "host 48BEC0 mapped 155544200000 seen 48BEC0", the same
13
+ ! on 20 and 21; RESULT ... check=fail. A device kernel given this pointer would read host memory.
14
+ ! The observation does not rest on omp_get_mapped_ptr (a routine of the compiler under test):
15
+ ! in copy mode device memory is separate, so seen = the host address is wrong whatever it returns
16
+ ! - control (same compiler): use_device_addr(tab) on the allocatable itself gives the mapped
17
+ ! address (data/reports/harvest-known/v040-addr.f90, check=pass on CCE 19/20/21)
18
+ ! - other families: AFAR converts it (seen = mapped); NVHPC 25.11 and 26.9 abort at the construct
19
+ ! (harvest/nvhpc-use-device-ptr-c-ptr-not-found.f90)
20
+ ! This file uses omp_get_mapped_ptr as the reference: AFAR at HSA_XNACK=1 (MI300A) returns a
21
+ ! null pointer for it, the known defect of afar-xnack1-target-is-present.f90 (nothing is
22
+ ! recorded present in unified memory), so that cell fails for another reason
23
+ ! - legality: "If a list item that appears in a use_device_ptr clause is of type C_PTR and
24
+ ! points to a data entity that is mapped to the device data environment, references to the list
25
+ ! item in the structured block ... are converted into references to a device pointer that is
26
+ ! local to the structured block and that refers to the device address of the corresponding
27
+ ! entity" (OpenMP 5.2 §5.4.8 p.122 l.1-5); tab is mapped by target enter data and cp =
28
+ ! c_loc(tab); the C_PTR form is the one 5.2 keeps (the non-C_PTR form is deprecated, l.8-10).
29
+ ! omp_get_mapped_ptr is OpenMP 5.1 (§3.8.11); the pre-run check accepts the program
30
+ ! - evidence: results/harvest-known/main.tioga (hk-040, gate: confirmed); the MI250X probe runs' output
31
+ ! (results/harvest-known/logs/tioga/probe.f656gDkdAd9R.log and probe.f656k2mjQdoD.log; their rows file
32
+ ! probes.tioga.jsonl was not kept); results/harvest-known/probes.tuolumne.jsonl (MI300A, v040-ptr.f90:
33
+ ! fail at HSA_XNACK=0, pass at 1)
34
+ program v040pp
35
+ use iso_c_binding
36
+ use omp_lib
37
+ implicit none
38
+ integer, parameter :: n = 1024
39
+ integer, allocatable, target :: tab(:)
40
+ type(c_ptr), target :: cp
41
+ type(c_ptr) :: p_ptr, p_map
42
+ integer :: hk_host
43
+ allocate(tab(n))
44
+ tab = 7
45
+ !$omp target enter data map(to: tab)
46
+ p_map = omp_get_mapped_ptr(c_loc(tab), omp_get_default_device())
47
+ cp = c_loc(tab)
48
+ !$omp target data use_device_ptr(cp)
49
+ p_ptr = cp
50
+ !$omp end target data
51
+ !$omp target exit data map(delete: tab)
52
+ print '(a,z0)', 'host ', transfer(c_loc(tab), 0_c_intptr_t)
53
+ print '(a,z0)', 'mapped ', transfer(p_map, 0_c_intptr_t)
54
+ print '(a,z0)', 'seen ', transfer(p_ptr, 0_c_intptr_t)
55
+ print '(a,z0)', 'loc(cp) ', transfer(c_loc(cp), 0_c_intptr_t)
56
+ hk_host = 1
57
+ !$omp target map(tofrom: hk_host)
58
+ if (.not. omp_is_initial_device()) hk_host = 0
59
+ !$omp end target
60
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', hk_host, ' check=', merge('pass', 'fail', c_associated(p_ptr, p_map))
61
+ end program v040pp
62
+ ! site:
63
+ ! title: use_device_ptr does not convert a C_PTR list item: the region sees the host address
64
+ ! end site
@@ -0,0 +1,63 @@
1
+ ! # Finding: CCE 21 ftn loses the target region's write to a module
2
+ ! # variable in a declare target link clause that the target construct maps
3
+ ! # tofrom (CCE 19 and 20 correct)
4
+ !
5
+ ! - compilers: CCE ftn 21.0.3 and 21.0.4, -O2: this file on MI300A gfx942
6
+ ! (HSA_XNACK 0 and 1); the two AOMP tests it comes from also on MI250X
7
+ ! gfx90a with 21.0.3.
8
+ ! - expected: v= 1 dev= T
9
+ ! - actual: v= 0 dev= T (the region runs on the device; the original v keeps
10
+ ! its value), every run, both memory modes.
11
+ ! - rule: the link clause "does not map the list items. Instead, they are
12
+ ! mapped according to the data-mapping rules described in Section 5.8"
13
+ ! (5.2 §5.8.5 p.159 l.24-27), so map(tofrom: v) on the target construct
14
+ ! maps v with a reference count of one and on exit "the original list item
15
+ ! is updated as if the list item appeared in a from clause on a target
16
+ ! update directive" (5.2 §5.8.3 p.154 l.3-5). OpenMP 4.5 already has the
17
+ ! link clause.
18
+ ! - regression: CCE 19.0.0 and 20.0.2 print v= 1 dev= T (gfx942 both modes;
19
+ ! gfx90a).
20
+ ! - same-compiler controls (CCE 21.0.3 and 21.0.4 correct, v= 1 dev= T):
21
+ ! the same map on an enclosing target data construct (target data
22
+ ! map(tofrom: v), then target without a map of v); v without the declare
23
+ ! target directive. (With enter(v) instead of link(v) v= 0 is the expected
24
+ ! result: the variable is present for the whole program and the exit update
25
+ ! happens only at a reference count of one, 5.2 §5.8.3 p.154 l.3-5; AFAR and
26
+ ! CCE 21 print v= 0, CCE 19 and 20 reject enter.)
27
+ ! - other families: AFAR amdflang prints v= 1 dev= T (gfx942 X0 and X1,
28
+ ! gfx90a).
29
+ ! - harvest: dev programs h2-aomp-smoke-fort-declare-target-link-2 and
30
+ ! h2-aomp-fortran-map-tests-even-basicer-example (data/bench/harvest2; AOMP
31
+ ! test/smoke-fort/declare-target-link-2 and
32
+ ! test/fortran-map-tests/even-basicer-example.f95), wrong_answer on CCE 21
33
+ ! only, gate confirmed on gfx90a.
34
+ ! - legality: offload.engine.prerun.check accepts it (the rules with the race
35
+ ! rule, and the AFAR flang front end).
36
+ ! CCE: ftn -fopenmp -O2 (module load cce/<v> craype-accel-amd-gfx942 rocm/<r>;
37
+ ! module unload cray-mpich)
38
+ ! Run: OMP_TARGET_OFFLOAD=mandatory ./a.out
39
+ module m
40
+ implicit none
41
+ integer :: v = 0
42
+ !$omp declare target link(v)
43
+ end module m
44
+ program p
45
+ use m
46
+ use omp_lib
47
+ implicit none
48
+ logical :: dev
49
+ dev = .false.
50
+ !$omp target map(tofrom: v) map(from: dev)
51
+ v = 1
52
+ dev = .not. omp_is_initial_device()
53
+ !$omp end target
54
+ print '(a,i0,a,l1)', 'v= ', v, ' dev= ', dev
55
+ if (v == 1) then
56
+ print '(a,i0,a)', 'RESULT ran_on_host=', merge(0, 1, dev), ' check=pass'
57
+ else
58
+ print '(a,i0,a)', 'RESULT ran_on_host=', merge(0, 1, dev), ' check=fail'
59
+ end if
60
+ end program p
61
+ ! site:
62
+ ! title: ftn 21 loses a target region's write to a declare target link module variable mapped tofrom
63
+ ! end site