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,235 @@
1
+ // (the reproduction gate's review queue, entry 72: the
2
+ // stress program scalars-c-64, kernel k0012, reduced): CCE 19 craycc gives
3
+ // one of 63 int64 sum reductions, and one of 64 (the two sizes above 62
4
+ // tested), on target teams distribute parallel for a wrong value, silently.
5
+ // With 62 or fewer every value is right. (Fix.)
6
+ // Spec: each list item of the reduction clause gets the combination of its
7
+ // private copies with its original value (OpenMP 5.2 §5.5.8 p.134), and on
8
+ // a combined target construct a reduction list item is also map(tofrom)
9
+ // (§17.2 p.341 l.10-13); neither OpenMP nor C sets a limit on the number of list
10
+ // items. Each s_k starts at 100 + k and adds k in each of 4 iterations, so
11
+ // it ends at 100 + 5k. Expected: "bad= 0".
12
+ // Observed (Tuolumne MI300A, -O2, OMP_TARGET_OFFLOAD=mandatory, 2026-10-26;
13
+ // data/evidence/gate_probe/logs/reduce.txt): CCE 19.0.0 at HSA_XNACK 0 and 1:
14
+ // "bad= 1 first= 11 (value 620, expected 155)" in every run (the same
15
+ // program with 63 scalars: s3 = 580 instead of 115); with 8, 16, ..., 56 and 57 to 62 scalars: bad= 0
16
+ // (control, data/evidence/gate_probe/reduce/red_c_N.c); CCE 20.0.2 and 21.0.3: bad= 0.
17
+ // Another family: nvc 25.11 and 26.9 (A100, separate memory): bad= 0 at 64
18
+ // and at 63 (data/evidence/gate_probe/logs/wingtip5.log, wingtip6.log; those runs
19
+ // used red_c_63.c and an earlier red_c_64.c whose printf lacked the
20
+ // "(value ..., expected ...)" text: the kernel is identical). AFAR amdclang stops at
21
+ // the same size: 62 scalars work, at 63 the kernel traps ("execution
22
+ // interrupted by hardware trap instruction", SIGABRT; the stress program's
23
+ // form prints "Too many arguments in kmp_invoke_microtask, aborting
24
+ // execution" first): a failing run, where CCE 19 gives a wrong value
25
+ // without any message.
26
+ // CCE: cc -fopenmp -O2 (module load cce/19.0.0 craype-accel-amd-gfx942 rocm)
27
+ // Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
28
+ #include <stdio.h>
29
+ #include <stdint.h>
30
+ int main(void) {
31
+ int64_t s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, s51, s52, s53, s54, s55, s56, s57, s58, s59, s60, s61, s62, s63, s64;
32
+ s1 = 101;
33
+ s2 = 102;
34
+ s3 = 103;
35
+ s4 = 104;
36
+ s5 = 105;
37
+ s6 = 106;
38
+ s7 = 107;
39
+ s8 = 108;
40
+ s9 = 109;
41
+ s10 = 110;
42
+ s11 = 111;
43
+ s12 = 112;
44
+ s13 = 113;
45
+ s14 = 114;
46
+ s15 = 115;
47
+ s16 = 116;
48
+ s17 = 117;
49
+ s18 = 118;
50
+ s19 = 119;
51
+ s20 = 120;
52
+ s21 = 121;
53
+ s22 = 122;
54
+ s23 = 123;
55
+ s24 = 124;
56
+ s25 = 125;
57
+ s26 = 126;
58
+ s27 = 127;
59
+ s28 = 128;
60
+ s29 = 129;
61
+ s30 = 130;
62
+ s31 = 131;
63
+ s32 = 132;
64
+ s33 = 133;
65
+ s34 = 134;
66
+ s35 = 135;
67
+ s36 = 136;
68
+ s37 = 137;
69
+ s38 = 138;
70
+ s39 = 139;
71
+ s40 = 140;
72
+ s41 = 141;
73
+ s42 = 142;
74
+ s43 = 143;
75
+ s44 = 144;
76
+ s45 = 145;
77
+ s46 = 146;
78
+ s47 = 147;
79
+ s48 = 148;
80
+ s49 = 149;
81
+ s50 = 150;
82
+ s51 = 151;
83
+ s52 = 152;
84
+ s53 = 153;
85
+ s54 = 154;
86
+ s55 = 155;
87
+ s56 = 156;
88
+ s57 = 157;
89
+ s58 = 158;
90
+ s59 = 159;
91
+ s60 = 160;
92
+ s61 = 161;
93
+ s62 = 162;
94
+ s63 = 163;
95
+ s64 = 164;
96
+ #pragma omp target teams distribute parallel for reduction(+: s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, s51, s52, s53, s54, s55, s56, s57, s58, s59, s60, s61, s62, s63, s64)
97
+ for (int ii = 0; ii < 4; ii++) {
98
+ s1 += 1;
99
+ s2 += 2;
100
+ s3 += 3;
101
+ s4 += 4;
102
+ s5 += 5;
103
+ s6 += 6;
104
+ s7 += 7;
105
+ s8 += 8;
106
+ s9 += 9;
107
+ s10 += 10;
108
+ s11 += 11;
109
+ s12 += 12;
110
+ s13 += 13;
111
+ s14 += 14;
112
+ s15 += 15;
113
+ s16 += 16;
114
+ s17 += 17;
115
+ s18 += 18;
116
+ s19 += 19;
117
+ s20 += 20;
118
+ s21 += 21;
119
+ s22 += 22;
120
+ s23 += 23;
121
+ s24 += 24;
122
+ s25 += 25;
123
+ s26 += 26;
124
+ s27 += 27;
125
+ s28 += 28;
126
+ s29 += 29;
127
+ s30 += 30;
128
+ s31 += 31;
129
+ s32 += 32;
130
+ s33 += 33;
131
+ s34 += 34;
132
+ s35 += 35;
133
+ s36 += 36;
134
+ s37 += 37;
135
+ s38 += 38;
136
+ s39 += 39;
137
+ s40 += 40;
138
+ s41 += 41;
139
+ s42 += 42;
140
+ s43 += 43;
141
+ s44 += 44;
142
+ s45 += 45;
143
+ s46 += 46;
144
+ s47 += 47;
145
+ s48 += 48;
146
+ s49 += 49;
147
+ s50 += 50;
148
+ s51 += 51;
149
+ s52 += 52;
150
+ s53 += 53;
151
+ s54 += 54;
152
+ s55 += 55;
153
+ s56 += 56;
154
+ s57 += 57;
155
+ s58 += 58;
156
+ s59 += 59;
157
+ s60 += 60;
158
+ s61 += 61;
159
+ s62 += 62;
160
+ s63 += 63;
161
+ s64 += 64;
162
+ }
163
+ int bad = 0, first = -1;
164
+ long fv = 0;
165
+ if (s1 != 105) { bad++; if (first < 0) { first = 1; fv = (long) s1; } }
166
+ if (s2 != 110) { bad++; if (first < 0) { first = 2; fv = (long) s2; } }
167
+ if (s3 != 115) { bad++; if (first < 0) { first = 3; fv = (long) s3; } }
168
+ if (s4 != 120) { bad++; if (first < 0) { first = 4; fv = (long) s4; } }
169
+ if (s5 != 125) { bad++; if (first < 0) { first = 5; fv = (long) s5; } }
170
+ if (s6 != 130) { bad++; if (first < 0) { first = 6; fv = (long) s6; } }
171
+ if (s7 != 135) { bad++; if (first < 0) { first = 7; fv = (long) s7; } }
172
+ if (s8 != 140) { bad++; if (first < 0) { first = 8; fv = (long) s8; } }
173
+ if (s9 != 145) { bad++; if (first < 0) { first = 9; fv = (long) s9; } }
174
+ if (s10 != 150) { bad++; if (first < 0) { first = 10; fv = (long) s10; } }
175
+ if (s11 != 155) { bad++; if (first < 0) { first = 11; fv = (long) s11; } }
176
+ if (s12 != 160) { bad++; if (first < 0) { first = 12; fv = (long) s12; } }
177
+ if (s13 != 165) { bad++; if (first < 0) { first = 13; fv = (long) s13; } }
178
+ if (s14 != 170) { bad++; if (first < 0) { first = 14; fv = (long) s14; } }
179
+ if (s15 != 175) { bad++; if (first < 0) { first = 15; fv = (long) s15; } }
180
+ if (s16 != 180) { bad++; if (first < 0) { first = 16; fv = (long) s16; } }
181
+ if (s17 != 185) { bad++; if (first < 0) { first = 17; fv = (long) s17; } }
182
+ if (s18 != 190) { bad++; if (first < 0) { first = 18; fv = (long) s18; } }
183
+ if (s19 != 195) { bad++; if (first < 0) { first = 19; fv = (long) s19; } }
184
+ if (s20 != 200) { bad++; if (first < 0) { first = 20; fv = (long) s20; } }
185
+ if (s21 != 205) { bad++; if (first < 0) { first = 21; fv = (long) s21; } }
186
+ if (s22 != 210) { bad++; if (first < 0) { first = 22; fv = (long) s22; } }
187
+ if (s23 != 215) { bad++; if (first < 0) { first = 23; fv = (long) s23; } }
188
+ if (s24 != 220) { bad++; if (first < 0) { first = 24; fv = (long) s24; } }
189
+ if (s25 != 225) { bad++; if (first < 0) { first = 25; fv = (long) s25; } }
190
+ if (s26 != 230) { bad++; if (first < 0) { first = 26; fv = (long) s26; } }
191
+ if (s27 != 235) { bad++; if (first < 0) { first = 27; fv = (long) s27; } }
192
+ if (s28 != 240) { bad++; if (first < 0) { first = 28; fv = (long) s28; } }
193
+ if (s29 != 245) { bad++; if (first < 0) { first = 29; fv = (long) s29; } }
194
+ if (s30 != 250) { bad++; if (first < 0) { first = 30; fv = (long) s30; } }
195
+ if (s31 != 255) { bad++; if (first < 0) { first = 31; fv = (long) s31; } }
196
+ if (s32 != 260) { bad++; if (first < 0) { first = 32; fv = (long) s32; } }
197
+ if (s33 != 265) { bad++; if (first < 0) { first = 33; fv = (long) s33; } }
198
+ if (s34 != 270) { bad++; if (first < 0) { first = 34; fv = (long) s34; } }
199
+ if (s35 != 275) { bad++; if (first < 0) { first = 35; fv = (long) s35; } }
200
+ if (s36 != 280) { bad++; if (first < 0) { first = 36; fv = (long) s36; } }
201
+ if (s37 != 285) { bad++; if (first < 0) { first = 37; fv = (long) s37; } }
202
+ if (s38 != 290) { bad++; if (first < 0) { first = 38; fv = (long) s38; } }
203
+ if (s39 != 295) { bad++; if (first < 0) { first = 39; fv = (long) s39; } }
204
+ if (s40 != 300) { bad++; if (first < 0) { first = 40; fv = (long) s40; } }
205
+ if (s41 != 305) { bad++; if (first < 0) { first = 41; fv = (long) s41; } }
206
+ if (s42 != 310) { bad++; if (first < 0) { first = 42; fv = (long) s42; } }
207
+ if (s43 != 315) { bad++; if (first < 0) { first = 43; fv = (long) s43; } }
208
+ if (s44 != 320) { bad++; if (first < 0) { first = 44; fv = (long) s44; } }
209
+ if (s45 != 325) { bad++; if (first < 0) { first = 45; fv = (long) s45; } }
210
+ if (s46 != 330) { bad++; if (first < 0) { first = 46; fv = (long) s46; } }
211
+ if (s47 != 335) { bad++; if (first < 0) { first = 47; fv = (long) s47; } }
212
+ if (s48 != 340) { bad++; if (first < 0) { first = 48; fv = (long) s48; } }
213
+ if (s49 != 345) { bad++; if (first < 0) { first = 49; fv = (long) s49; } }
214
+ if (s50 != 350) { bad++; if (first < 0) { first = 50; fv = (long) s50; } }
215
+ if (s51 != 355) { bad++; if (first < 0) { first = 51; fv = (long) s51; } }
216
+ if (s52 != 360) { bad++; if (first < 0) { first = 52; fv = (long) s52; } }
217
+ if (s53 != 365) { bad++; if (first < 0) { first = 53; fv = (long) s53; } }
218
+ if (s54 != 370) { bad++; if (first < 0) { first = 54; fv = (long) s54; } }
219
+ if (s55 != 375) { bad++; if (first < 0) { first = 55; fv = (long) s55; } }
220
+ if (s56 != 380) { bad++; if (first < 0) { first = 56; fv = (long) s56; } }
221
+ if (s57 != 385) { bad++; if (first < 0) { first = 57; fv = (long) s57; } }
222
+ if (s58 != 390) { bad++; if (first < 0) { first = 58; fv = (long) s58; } }
223
+ if (s59 != 395) { bad++; if (first < 0) { first = 59; fv = (long) s59; } }
224
+ if (s60 != 400) { bad++; if (first < 0) { first = 60; fv = (long) s60; } }
225
+ if (s61 != 405) { bad++; if (first < 0) { first = 61; fv = (long) s61; } }
226
+ if (s62 != 410) { bad++; if (first < 0) { first = 62; fv = (long) s62; } }
227
+ if (s63 != 415) { bad++; if (first < 0) { first = 63; fv = (long) s63; } }
228
+ if (s64 != 420) { bad++; if (first < 0) { first = 64; fv = (long) s64; } }
229
+ printf("bad= %d first= %d (value %ld, expected %ld) s1= %ld s64= %ld\n", bad, first, fv,
230
+ first < 0 ? 0L : 100L + 5L * first, (long) s1, (long) s64);
231
+ return 0;
232
+ }
233
+ // site:
234
+ // title: craycc 19: with 63 or more int64 sum reductions on target teams distribute parallel for, one is wrong
235
+ // end site
@@ -0,0 +1,35 @@
1
+ program t
2
+ use omp_lib, only: omp_get_thread_num
3
+ implicit none
4
+ integer, parameter :: n = 64
5
+ integer, allocatable :: a(:), b(:)
6
+ integer :: ref(n), i, nbad
7
+ allocate(a(n), b(n))
8
+ do i = 1, n
9
+ a(i) = i; b(i) = 0; ref(i) = 2*i + 1
10
+ end do
11
+ !$omp target parallel map(to: a) map(from: b)
12
+ if (omp_get_thread_num() == 0) then
13
+ do i = 1, n
14
+ b(i) = 2*a(i) + 1
15
+ end do
16
+ end if
17
+ !$omp end target parallel
18
+ nbad = count(b /= ref)
19
+ print *, 'base_cond bad=', nbad
20
+ end program
21
+ ! site:
22
+ ! title: ftn -fopenmp: a sequential DO loop executed by one thread of a target parallel region runs only some of its iterations
23
+ ! + (-O2)
24
+ ! control: ../vendor/checks/src/cce/control/cce19-target-parallel-guarded-loop-control.f90 compiled at -O0 instead of -O2 (-O0)
25
+ ! end site
26
+ ! spec (requirement): Every thread of the team created by a parallel construct executes the region, and each thread
27
+ ! may follow a different path of statements.
28
+ ! "Each thread can execute a path of statements that is different from that of the other threads." (5.2 §10.1 p.223
29
+ ! l.27-28)
30
+ ! spec (requirement): The thread with thread number zero is the primary thread and takes part in executing the region
31
+ ! like every other thread.
32
+ ! "All threads in the new team, including the primary thread, execute the region." (5.2 §10.1 p.223 l.16-17)
33
+ ! spec (this program): Only thread 0 enters the guarded branch and runs the sequential DO loop of 64 iterations, so
34
+ ! base-language semantics require all 64 elements of b to be written; the spec adds no rule that cuts a sequential
35
+ ! loop short. At -O2 the compiler runs only some of the iterations.
@@ -0,0 +1,38 @@
1
+ program t
2
+ use omp_lib, only: omp_get_thread_num
3
+ implicit none
4
+ integer, parameter :: n = 64
5
+ integer, allocatable :: a(:), b(:)
6
+ integer :: ref(n), i, nbad
7
+ allocate(a(n), b(n))
8
+ do i = 1, n
9
+ a(i) = i; b(i) = 0; ref(i) = 2*i + 1
10
+ end do
11
+ !$omp target parallel map(to: a) map(from: b)
12
+ !$omp single
13
+ do i = 1, n
14
+ b(i) = 2*a(i) + 1
15
+ end do
16
+ !$omp end single
17
+ !$omp end target parallel
18
+ nbad = count(b /= ref)
19
+ print *, 'single bad=', nbad
20
+ end program
21
+ ! site:
22
+ ! title: ftn/craycc: constructs documented as unsupported in offload regions (single, masked, task, ordered, scan) give internal
23
+ ! + compiler errors or device link failures instead of a diagnostic
24
+ ! control: ../vendor/checks/src/cce/control/cce19-target-parallel-single-ice-control.f90 the single construct replaced by a
25
+ ! + worksharing do
26
+ ! + construct
27
+ ! end site
28
+ ! spec (requirement): A single construct in a parallel region is executed by exactly one thread of the team, with an
29
+ ! implicit barrier at its end.
30
+ ! "The single construct specifies that the associated structured block is executed by only one of the threads in the
31
+ ! team" (5.2 §11.1 p.241 l.2-3)
32
+ ! spec (requirement): The implicit barrier at the end of a single region applies unless nowait is specified.
33
+ ! "An implicit barrier occurs at the end of a single region if the nowait clause is not specified." (5.2 §11.1 p.241
34
+ ! l.5-6)
35
+ ! spec (this program): The program uses single inside target parallel without nowait. The nesting rules of OpenMP 5.2
36
+ ! list no restriction against single in a target region, so the program is legal; the vendor documentation that
37
+ ! lists single as unsupported in offload regions is a statement outside the spec, and the compiler gives an internal
38
+ ! error or link failure instead of a diagnostic.
@@ -0,0 +1,68 @@
1
+ ! CCE 21: a target teams distribute parallel do over 2**32 iterations does
2
+ ! not run its last 256-iteration block (retitled; the file keeps
3
+ ! its name). Found as a wrong sum when the loop fills an integer(8)
4
+ ! allocatable of 2**32 elements on the device and a second loop reduces it
5
+ ! (the reproduction gate's review queue, entries 86 and 75, the
6
+ ! stress program runtime.alloc-omp at 2**32, which is already this one
7
+ ! kernel). The reduction is right; the fill loop leaves the last 256
8
+ ! elements unwritten.
9
+ ! Spec: integer(8) indices and extents, so nothing overflows (the largest
10
+ ! product is 642 * 2**32); every iteration of the loop runs once (5.2 §11.6 p.254
11
+ ! distribute, §11.5 p.247 worksharing-loop); the array is mapped by target enter
12
+ ! data map(alloc:) (§13.6 p.280) and the sum is a reduction on target teams
13
+ ! distribute parallel do (§5.5.8 p.134), mapped tofrom (§17.2 p.341
14
+ ! l.10-13). 2**32 * 8 bytes = 32 GiB on the host and 32 GiB on the device
15
+ ! (MI300A: 128 GB).
16
+ ! Expected: "s= 2164663527981" (642 is invertible mod 1009, so each run of
17
+ ! 1009 consecutive i adds 0 + 1 + ... + 1008 = 508536).
18
+ ! Observed (Tuolumne MI300A, -O2, OMP_TARGET_OFFLOAD=mandatory, one run at a
19
+ ! time, 2026-10-26; data/evidence/gate_probe/logs/reduce.txt):
20
+ ! - CCE 21.0.3, HSA_XNACK 0 and 1: s= 2164663393401 in 4 of 4 runs, 134580
21
+ ! short: exactly the sum of mod(i*642, 1009) over i = 2**32-255 .. 2**32.
22
+ ! - Localization (after the later runs;
23
+ ! data/evidence/gate_probe/reduce/): the same device fill, then target update from
24
+ ! and a check on the host (fill_check_32.f90): "wrong= 256 big(nn)= 0
25
+ ! big(nn-256)= 814" at XNACK 0, and at XNACK 1 big(nn)= -1 (the host's
26
+ ! initial value, never overwritten): the last 256 iterations of the fill
27
+ ! loop did not run. The array filled on the host, mapped to, and reduced
28
+ ! by the same reduction loop (hostfill_reduce_32.f90): s= 2164663527981
29
+ ! (right), both modes.
30
+ ! - Controls on CCE 21: the same program at 2**31 elements (alloc_31.f90):
31
+ ! s= 1082331768994 (right); the same 2**32 iterations as one reduction loop
32
+ ! without the array (iter_32.f90): right (8 runs).
33
+ ! - CCE 19.0.0 (XNACK 0 and 1) and 20.0.2 (XNACK 0 and 1): a GPU memory
34
+ ! access fault (SIGABRT) at 2**32 in every run; CCE 20 faults in the fill
35
+ ! loop alone (fill_check_32.f90); at 2**31 neither finishes within 300 s.
36
+ ! data/reports/fuzz-stress.md records CCE 19/20's fill-and-reduce shape as
37
+ ! wrong from 2**22 elements under candidate 6; its cause is not shown here,
38
+ ! so this finding claims CCE 21 only.
39
+ ! Another family: AFAR amdflang (XNACK 0 and 1) and nvfortran 25.11 and 26.9
40
+ ! (A100 80 GB, separate memory): s= 2164663527981
41
+ ! (data/evidence/gate_probe/logs/wingtip5.log).
42
+ ! CCE: ftn -fopenmp -O2 (module load cce/21.0.3 craype-accel-amd-gfx942 rocm)
43
+ ! Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out (needs 64 GiB free)
44
+ program p
45
+ implicit none
46
+ integer(8) :: i, nn, s
47
+ integer(8), allocatable :: big(:)
48
+ nn = 2_8**32
49
+ s = 0
50
+ allocate(big(nn))
51
+ !$omp target enter data map(alloc: big)
52
+ !$omp target teams distribute parallel do
53
+ do i = 1, nn
54
+ big(i) = mod(i * 642, 1009_8)
55
+ end do
56
+ !$omp end target teams distribute parallel do
57
+ !$omp target teams distribute parallel do reduction(+: s)
58
+ do i = 1, nn
59
+ s = s + big(i)
60
+ end do
61
+ !$omp end target teams distribute parallel do
62
+ !$omp target exit data map(delete: big)
63
+ deallocate(big)
64
+ print '(a,i0)', 's= ', s
65
+ end program p
66
+ ! site:
67
+ ! title: ftn 21: target teams distribute parallel do over 2**32 iterations skips its last 256-iteration block
68
+ ! end site
@@ -0,0 +1,52 @@
1
+ ! CCE 21: with a defaultmap clause on a target construct, the scalar x named
2
+ ! in map(tofrom: x) is not copied back (a correction: the header
3
+ ! this file did not have).
4
+ ! Spec: x is explicitly mapped tofrom, which defaultmap does not change
5
+ ! ("The defaultmap clause determines the implicit data-mapping or
6
+ ! data-sharing attribute of certain variables that are referenced in a
7
+ ! target construct", 5.2 §5.8.7 p.161 l.14-16), and on exit the original is
8
+ ! updated "if the map-type is from or tofrom" (5.2 §5.8.3 p.154 l.2-5).
9
+ ! Expected: A 0, B 0, C 0 (x = 0 from omp_is_initial_device() on the device).
10
+ ! Observed: CCE 21.0.3 and 21.0.4: A 1, B 0, C 1, at HSA_XNACK 0 and 1, -O0
11
+ ! and -O2. The region runs on the device: CRAY_ACC_DEBUG shows the kernel,
12
+ ! and an array flag mapped from in the same region comes back 0 (vendor
13
+ ! case cce21-defaultmap-device-probe); what is lost is the copy-back of x.
14
+ ! Control: region B, the same construct without defaultmap: 0. CCE 19.0.0
15
+ ! and 20.0.2: all zeros. The catalog's defaultmap programs read their
16
+ ! ran_on_host flag through such a map(tofrom) scalar, so on CCE 21 they
17
+ ! read ran_on_host=1 although they ran on the device (decided as this wrong
18
+ ! answer: catalog/rulings.yaml RUL-MAPPED-FLAG-NOT-COPIED-BACK).
19
+ ! CCE: ftn -fopenmp -O2 (module load cce/21.0.4 craype-accel-amd-gfx942
20
+ ! rocm/7.2.0; module unload cray-mpich)
21
+ program h
22
+ use omp_lib
23
+ implicit none
24
+ integer :: x, i
25
+ integer, allocatable :: a(:)
26
+ allocate(a(8)); a=1
27
+ x=1
28
+ !$omp target map(tofrom:x) map(to:a) defaultmap(to: aggregate)
29
+ x = merge(1,0,omp_is_initial_device())
30
+ !$omp end target
31
+ print *, 'A', x
32
+ x=1
33
+ !$omp target map(tofrom:x) map(to:a)
34
+ x = merge(1,0,omp_is_initial_device())
35
+ !$omp end target
36
+ print *, 'B', x
37
+ x=1
38
+ !$omp target map(tofrom:x) map(to:a) defaultmap(to: aggregate)
39
+ x = merge(1,0,omp_is_initial_device())
40
+ do i=1,8
41
+ a(i)=2
42
+ end do
43
+ !$omp end target
44
+ print *, 'C', x
45
+ end
46
+ ! site:
47
+ ! title: ftn: with a defaultmap clause on target, an explicitly mapped map(tofrom) scalar is not copied back, and with
48
+ ! + defaultmap(tofrom) an array in map(alloc) or map(to) is copied back
49
+ ! control: ../vendor/checks/src/cce/control/cce21-defaultmap-aggregate-flag-control.f90 defaultmap(to: aggregate) removed from
50
+ ! + regions A
51
+ ! + and C
52
+ ! end site
@@ -0,0 +1,61 @@
1
+ ! (reducing the reproduction gate's review queue entry
2
+ ! 48, fuzz x0-alloc:197, whose kernel 4 is this pattern): CCE 21 loses the
3
+ ! writes to an assumed-shape dummy array in a target region that has
4
+ ! in_reduction (in a taskgroup with task_reduction), inside the procedure
5
+ ! whose dummy it is. With explicit-shape dummies, or without the
6
+ ! task_reduction/in_reduction pair, the writes come back.
7
+ ! Spec: y is a mappable list item mapped tofrom (5.2 §5.8.3 p.150; the only
8
+ ! Fortran list-item restriction, p.156, is on assumed-size arrays), so its
9
+ ! values at the end of the region are assigned back to the original; the
10
+ ! in_reduction clause on target (§5.5.10 p.138) and task_reduction on
11
+ ! taskgroup (§5.5.9 p.137) do not change the mapping of other list items. r
12
+ ! is not updated in the region. Expected: "r= 3 y(16)= 32".
13
+ ! Observed (Tuolumne MI300A, -O2, OMP_TARGET_OFFLOAD=mandatory, 3 runs per
14
+ ! cell, 2026-10-26; data/evidence/gate_probe/logs/reduce.txt, ids r2/inred_noh*):
15
+ ! CCE 21.0.3 at HSA_XNACK 0 and 1: "r= 3 y(16)= 0" in every run.
16
+ ! One-change controls of this program (after the later
17
+ ! runs; data/evidence/gate_probe/reduce/): x(n), y(n) explicit-shape
18
+ ! (inred_noh_explicit.f90) and the taskgroup and in_reduction removed
19
+ ! (inred_noh_noinred.f90) each give "r= 3 y(16)= 32" in 6 of 6 runs on
20
+ ! CCE 21, XNACK 0 and 1. CCE 19.0.0 and 20.0.2: right (both crash on the
21
+ ! fuller fuzz kernel instead: data/reports/gate-queue.md, entry 48). The
22
+ ! fix-round-1 form, which also printed an unwritten scalar h, gave the same
23
+ ! (inred_host_noh.f90), and so did a form that writes and maps h
24
+ ! (inred_host.f90).
25
+ ! With r updated in the region (r = r + x(i)) CCE 21 does not link it
26
+ ! ("undefined symbol: _cray$mt_taskwait": cce21-in-reduction-taskwait-link.f90),
27
+ ! so this program leaves r alone.
28
+ ! Another family: AFAR amdflang: "r= 3 y(16)= 32" (XNACK 0 and 1). NVHPC
29
+ ! nvfortran 25.11 and 26.9 reject task_reduction ("Syntax error at or near
30
+ ! identifier task_reduction" on data/evidence/gate_probe/reduce/unh_k2.f90 and
31
+ ! unh_k4.f90, data/evidence/gate_probe/logs/wingtip5.log), so it is no witness.
32
+ ! CCE: ftn -fopenmp -O2 (module load cce/21.0.3 craype-accel-amd-gfx942 rocm)
33
+ ! Run: OMP_TARGET_OFFLOAD=mandatory HSA_XNACK=0 ./a.out
34
+ program p
35
+ implicit none
36
+ integer, parameter :: n = 16
37
+ integer :: a(n), b(n), r, i
38
+ do i = 1, n
39
+ a(i) = i
40
+ b(i) = 0
41
+ end do
42
+ r = 3
43
+ call k(a, b)
44
+ print '(a,i0,a,i0)', 'r= ', r, ' y(16)= ', b(n)
45
+ contains
46
+ subroutine k(x, y)
47
+ integer, intent(in) :: x(:)
48
+ integer, intent(inout) :: y(:)
49
+ integer :: i
50
+ !$omp taskgroup task_reduction(+: r)
51
+ !$omp target map(to: x) map(tofrom: y) in_reduction(+: r)
52
+ do i = 1, n
53
+ y(i) = 2 * x(i)
54
+ end do
55
+ !$omp end target
56
+ !$omp end taskgroup
57
+ end subroutine k
58
+ end program p
59
+ ! site:
60
+ ! title: ftn 21: writes to an assumed-shape dummy in a target region with in_reduction are lost
61
+ ! end site
@@ -0,0 +1,59 @@
1
+ ! Generated by compliance.gen (OpenMP 5.2, free-form Fortran). Do not edit.
2
+ ! id: omp52-clause-in_reduction-and
3
+ ! primary atom: omp.clause.in_reduction.and
4
+ ! legal: yes
5
+ ! observable: yes
6
+ ! ran_on_host: inside the target region of interest
7
+ ! evidence: construct
8
+ ! needs: none
9
+ ! std: f2008
10
+ program gen_prog
11
+ use omp_lib, only: omp_is_initial_device
12
+ implicit none
13
+ integer, parameter :: n = 64
14
+ integer, allocatable, target :: a(:), b(:)
15
+ integer :: ref(n)
16
+ integer :: i, host_flag
17
+ logical :: ok
18
+ logical :: ls, lsref
19
+ allocate(a(n), b(n))
20
+ do i = 1, n
21
+ a(i) = i
22
+ b(i) = 0
23
+ ref(i) = 2*i + 1
24
+ end do
25
+ host_flag = 1
26
+ ls = .true.
27
+ lsref = .true.
28
+ do i = 1, n
29
+ lsref = lsref .and. (a(i) /= 17)
30
+ end do
31
+ !$omp taskgroup task_reduction(.and.: ls)
32
+ !$omp target map(to: a) map(from: b) map(tofrom: host_flag) in_reduction(.and.: ls)
33
+ host_flag = merge(1, 0, omp_is_initial_device())
34
+ do i = 1, n
35
+ b(i) = 2*a(i) + 1
36
+ ls = ls .and. (a(i) /= 17)
37
+ end do
38
+ !$omp end target
39
+ !$omp end taskgroup
40
+ ok = all(b == ref) .and. (ls .eqv. lsref)
41
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', merge('pass', 'fail', ok)
42
+ deallocate(a, b)
43
+ end program gen_prog
44
+ ! site:
45
+ ! title: ftn: in_reduction on a target construct fails to link (undefined _cray$mt_taskwait in the device code)
46
+ ! control: ../vendor/checks/src/cce/control/cce21-in-reduction-taskwait-link-control.f90 in_reduction(.and.: ls) on the target
47
+ ! + replaced by
48
+ ! + map(tofrom: ls), without the enclosing taskgroup
49
+ ! end site
50
+ ! spec (requirement): An in_reduction clause on a target construct makes the target task a participant in the task
51
+ ! reduction defined by an enclosing taskgroup with a matching task_reduction clause.
52
+ ! "For the target construct, the target task becomes the participating task." (5.2 §5.5.10 p.138 l.21-22)
53
+ ! spec (requirement): The private copy of an in_reduction list item on a target construct is implicitly mapped into
54
+ ! the device data environment and combined at the end of the task region.
55
+ ! "This private copy will be implicitly mapped into the device data environment of the target device, if the target
56
+ ! device is not the parent device." (5.2 §5.5.10 p.138 l.23-24)
57
+ ! spec (this program): The target construct lists in_reduction(.and.: ls) inside a taskgroup with
58
+ ! task_reduction(.and.: ls), which matches in operator and list item; the compiler fails to link the device code
59
+ ! (undefined _cray$mt_taskwait) instead of performing the reduction.
@@ -0,0 +1,59 @@
1
+ ! Finding: CCE 21 rejects the OpenMP 5.2 linear modifier syntax
2
+ ! under default(none) with a false data-sharing diagnostic.
3
+ !
4
+ ! Legal OpenMP 5.2: linear(x: val, step(1)) on a worksharing-loop (5.2
5
+ ! §5.4.6 pp.117-120; val is the default for a non-reference variable).
6
+ ! linear is a data-sharing attribute clause, so x has an explicitly
7
+ ! determined data-sharing attribute and default(none) is satisfied (5.2
8
+ ! §5.4.1 p.109). At the start of iteration i, x = 3 + (i - 1); after the
9
+ ! loop x = n + 3, reading "The value corresponding to the sequentially last
10
+ ! logical iteration of the associated loops is assigned to the original list
11
+ ! item" (5.2 §5.4.6 p.118) as the list item's value at the end of that
12
+ ! iteration, as for lastprivate (the other reading, its value at the start,
13
+ ! gives n + 2; CCE 21's failure is a compile-time rejection either way).
14
+ ! Expected: "RESULT ran_on_host=0 check=pass".
15
+ ! Legality rests on the quoted spec text: cited gfortran 13.3.1
16
+ ! -fopenmp as an independent witness; gfortran/gcc -fopenmp are withdrawn
17
+ ! as offload legality witnesses (data/reports/rulings.md).
18
+ !
19
+ ! Observed (tuolumne, MI300A, both memory modes, -O2, 2026-10-22,
20
+ ! data/evidence/triage_probe/linear_mod.f90 and linear_mod_nodn.f90,
21
+ ! results/t27b/probes.jsonl):
22
+ ! - CCE 21.0.3 (whose intro_openmp(7) lists "new linear clause syntax
23
+ ! (Fortran only)" among its OpenMP 5.2 features): ftn-1510 "Variable "X"
24
+ ! must have its data scope explicitly declared because DEFAULT(NONE) was
25
+ ! specified". Without default(none) shared(a, b): internal compiler error
26
+ ! "ACC - barrier/reset/protected last private not supported" (the class of
27
+ ! fuzz/1391-cce20.f90).
28
+ ! - CCE 19.0.0, 20.0.2: ftn-113, VAL read as an undeclared variable (they do
29
+ ! not claim the 5.2 syntax).
30
+ ! - AFAR amdflang 24.0.0git: crashes (ICE) in both forms.
31
+ ! The catalog's omp52/60-clause-linear-val programs are rejected on every
32
+ ! compiler because of these.
33
+ !
34
+ ! ftn -fopenmp -O2
35
+ program p
36
+ use omp_lib, only: omp_is_initial_device
37
+ implicit none
38
+ integer, parameter :: n = 64
39
+ integer :: a(n), b(n), i, x, host_flag
40
+ a = [(i, i = 1, n)]
41
+ b = 0
42
+ x = 3
43
+ host_flag = 1
44
+ !$omp target map(to: a) map(from: b) map(tofrom: x, host_flag)
45
+ host_flag = merge(1, 0, omp_is_initial_device())
46
+ !$omp parallel do default(none) shared(a, b) linear(x: val, step(1))
47
+ do i = 1, n
48
+ b(i) = 2*a(i) + 1 + (x - (i + 2))
49
+ x = x + 1
50
+ end do
51
+ !$omp end target
52
+ print '(a,i0,a,a)', 'RESULT ran_on_host=', host_flag, ' check=', &
53
+ merge('pass', 'fail', all(b == 2*a + 1) .and. x == n + 3)
54
+ end program p
55
+ ! site:
56
+ ! title: ftn: internal compiler error "ACC - barrier/reset/protected last private not supported" for linear and lastprivate on a
57
+ ! + loop in a target region
58
+ ! same_as: catalog/cce-linear-lastprivate-ice
59
+ ! end site
@@ -0,0 +1,50 @@
1
+ /* Finding (C): at -fopenmp-version=52 both clang C front ends
2
+ reject the deprecated but normative `to` clause of declare target.
3
+
4
+ Legal OpenMP 5.2 C. "The clause-name to may be used as a synonym for the
5
+ clause-name enter. This use has been deprecated." (5.2 §5.8.4 p.158; also
6
+ Appendix B.1 p.625), and "deprecated"
7
+ is "the property that it is normative in the current specification but
8
+ is considered obsolescent and will be removed in the future" (5.2
9
+ §1.2.7 p.20); 6.0 removes it (the catalog's 6.0 programs use enter).
10
+ Expected: "RESULT ran_on_host=0 check=pass".
11
+
12
+ Observed (tuolumne, MI300A, HSA_XNACK=1, -O2, 2026-10-22,
13
+ data/evidence/triage_probe/dt_to.c, results/t27b/probes.jsonl): AFAR amdclang
14
+ 24.0.0git and CCE craycc 19.0.0, 20.0.2, 21.0.3 at -fopenmp-version=52:
15
+ "error: unexpected 'to' clause, use 'enter' instead"; without the flag
16
+ (their default, OpenMP 5.1) all four compile and run it correctly. The
17
+ catalog's omp52-c-clause-device_type, -device_type-any, -device_type-
18
+ nohost programs were rejected on every compiler because of it; since
19
+ Those C ports use enter(f), so they measure
20
+ device_type.
21
+
22
+ Legality rests on the quoted spec text only: there is no independent
23
+ compiler witness (cited gcc 13.3.1 -fopenmp; gfortran/gcc -fopenmp
24
+ are withdrawn as offload legality witnesses, data/reports/rulings.md).
25
+
26
+ amdclang -fopenmp --offload-arch=gfx942 -fopenmp-version=52 -O2
27
+ craycc -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa
28
+ -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx942
29
+ -fopenmp-version=52 -O2 */
30
+ #include <stdio.h>
31
+ #include <omp.h>
32
+ enum { n = 64 };
33
+ int f(int x) { return 2 * x + 1; }
34
+ #pragma omp declare target to(f) device_type(any)
35
+ int main(void) {
36
+ int a[n], b[n], bad = 0, host_flag = 1;
37
+ for (int i = 0; i < n; i++) { a[i] = i + 1; b[i] = 0; }
38
+ #pragma omp target map(to: a) map(from: b) map(tofrom: host_flag)
39
+ {
40
+ host_flag = omp_is_initial_device() ? 1 : 0;
41
+ for (int i = 0; i < n; i++) b[i] = f(a[i]);
42
+ }
43
+ for (int i = 0; i < n; i++) bad += b[i] != 2 * (i + 1) + 1;
44
+ printf("RESULT ran_on_host=%d check=%s\n", host_flag, bad ? "fail" : "pass");
45
+ return 0;
46
+ }
47
+ // site:
48
+ // title: amdclang -fopenmp-version=52: declare target to(f) rejected ("unexpected 'to' clause, use 'enter' instead")
49
+ // control: ../vendor/checks/src/other/control/clang-c-declare-target-to-omp52-control.c enter(f) instead of to(f)
50
+ // end site