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,932 @@
1
+ # Where the OpenMP spec overrides the TableGen skeleton (skeleton.yaml).
2
+ #
3
+ # This is the one place for such overrides, in both directions. Every entry
4
+ # cites the spec text that contradicts TableGen and is `status: provisional`
5
+ # until the project owner reviews it. Read by offload/engine/catalog.py
6
+ # (load_grammar), which the parser and slice_atoms use.
7
+ #
8
+ # directive_spellings: spellings the spec allows beyond the TableGen version
9
+ # range, valid from `since` on.
10
+ # clause_rules: a skeleton clause rule for one directive that the spec
11
+ # removes (`remove: true`), re-ranges (`since`/`until` each replace the
12
+ # skeleton's bound, inclusive, so the range may narrow or widen; a bound
13
+ # left out keeps the skeleton's), or adds (`add: true`, with `once`,
14
+ # `since`, `until`) where the skeleton lacks a clause the spec allows. A
15
+ # removed clause raises clause_not_allowed; a clause outside its range
16
+ # raises version. `also_cited` lists further citations. The loader rejects
17
+ # entries that name an unknown directive or clause, and a re-range that
18
+ # leaves the skeleton's bounds unchanged.
19
+ # directive_versions: the version that introduced a directive, where
20
+ # TableGen gives every spelling min version 0. Before `since` every
21
+ # spelling raises version. Method (sweep of the slice): a directive
22
+ # exists at 5.2 when each leaf construct has a construct section in the 5.2
23
+ # text (offload.engine.spec_text) and a compound name follows the 5.2 naming
24
+ # rules (§17.3); same at 6.0 with §19.1. The loader rejects unknown
25
+ # directives, duplicate entries and entries that change nothing.
26
+
27
+ # skeleton_directives: directives TableGen lacks: `clauses_of` a
28
+ # directive whose clause rules it shares, its `association` and
29
+ # `spellings`. directive_languages: the languages of a
30
+ # directive where TableGen's are wrong ([] for both). repeatable_clauses
31
+ #: clauses TableGen marks once that the spec lets repeat,
32
+ # restricted instead by a rule of rules.yaml.
33
+
34
+ skeleton_directives:
35
+ begin metadirective:
36
+ clauses_of: metadirective
37
+ association: Block
38
+ spellings:
39
+ - {text: begin metadirective, min_ver: 50, max_ver: null}
40
+ citation: "OpenMP 5.2 §7.4.4, p.192"
41
+ also_cited: ["OpenMP 5.0 §2.3.4, p.56", "OpenMP 6.0 §9.4.4, p.327"]
42
+ status: provisional
43
+ notes: "A delimited metadirective in C/C++ and Fortran; its paired end directive is end metadirective. TableGen has no record."
44
+
45
+ directive_languages:
46
+ declare variant:
47
+ languages: []
48
+ citation: "OpenMP 5.2 §7.5.4, p.197"
49
+ also_cited: ["OpenMP 5.0 §2.3.5, p.58"]
50
+ status: provisional
51
+ notes: "The Fortran form is !$omp declare variant([base-proc-name:]variant-proc-name) clause (5.0 §2.3.5 l.17); TableGen lists C only."
52
+
53
+ repeatable_clauses:
54
+ defaultmap:
55
+ citation: "OpenMP 5.2 §5.8.7, p.162"
56
+ also_cited: ["OpenMP 5.0 §2.12.5, p.174", "OpenMP 6.0 §7.9.9, p.292"]
57
+ status: provisional
58
+ notes: "Once per variable category, not once per construct: rules.yaml defaultmap-map-001 and -002 check it."
59
+
60
+ directive_spellings:
61
+ - directive: target data
62
+ spelling: target data
63
+ since: 60
64
+ citation: "OpenMP 6.0 §15.7, p.458"
65
+ status: provisional
66
+ - directive: target enter data
67
+ spelling: target enter data
68
+ since: 60
69
+ citation: "OpenMP 6.0 §15.5, p.454"
70
+ status: provisional
71
+ - directive: target exit data
72
+ spelling: target exit data
73
+ since: 60
74
+ citation: "OpenMP 6.0 §15.6, p.456"
75
+ status: provisional
76
+ - directive: target update
77
+ spelling: target update
78
+ since: 60
79
+ citation: "OpenMP 6.0 §15.9, p.465"
80
+ status: provisional
81
+ - directive: declare target
82
+ spelling: declare target
83
+ since: 60
84
+ citation: "OpenMP 6.0 §9.9.1, p.346"
85
+ status: provisional
86
+
87
+ - directive: begin declare target
88
+ spelling: begin declare target
89
+ since: 60
90
+ citation: "OpenMP 6.0 §9.9.2, p.349"
91
+ status: provisional
92
+ notes: "(C): 'The begin declare_target directive may alternatively be specified with begin declare target as the directive-name.'"
93
+ - directive: end declare target
94
+ spelling: end declare target
95
+ since: 60
96
+ citation: "OpenMP 6.0 §5.1, p.150"
97
+ status: provisional
98
+ notes: "(C): the paired end directive of begin declare target: 'If the directive-name of such a directive starts with begin, the end directive has the same directive name except begin is replaced with end.'"
99
+
100
+ directive_versions:
101
+ - directive: begin declare target
102
+ since: 51
103
+ citation: "OpenMP 5.1 §2.14.7, p.211"
104
+ status: provisional
105
+ notes: "(the C 5.0 slice): the begin declare target directive first appears in 5.1 (#pragma omp begin declare target, 5.1 §2.14.7); 5.0's delimited form is declare target ... end declare target (5.0 §2.12.7, p.181), which the 5.0 C slice does not have as an atom of its own."
106
+ - directive: workdistribute
107
+ since: 60
108
+ citation: "OpenMP 6.0 §13.5, p.412"
109
+ status: provisional
110
+ notes: "No workdistribute construct in the 5.2 text; the 6.0 features history lists it as added in 6.0."
111
+ - directive: teams workdistribute
112
+ since: 60
113
+ citation: "OpenMP 6.0 §13.5, p.412"
114
+ status: provisional
115
+ notes: "Leaf workdistribute is new in 6.0."
116
+ - directive: target teams workdistribute
117
+ since: 60
118
+ citation: "OpenMP 6.0 §13.5, p.412"
119
+ status: provisional
120
+ notes: "Leaf workdistribute is new in 6.0."
121
+ - directive: target loop
122
+ since: 60
123
+ citation: "OpenMP 5.2 §17.3, p.342"
124
+ also_cited: ["OpenMP 6.0 §19.1, p.526"]
125
+ status: provisional
126
+ notes: "5.2: if directive-name-A is target then directive-name-B may be simd, parallel, teams, a teams compound, or a parallel compound with a loop, for or do leaf; plain loop is not listed. 6.0 allows target (parallelism-generating) with loop (partitioned)."
127
+
128
+ clause_rules:
129
+ - directive: begin declare target
130
+ clause: to
131
+ remove: true
132
+ citation: "OpenMP 5.2 §7.8.2, p.207"
133
+ also_cited: ["OpenMP 6.0 §9.9.2, p.349"]
134
+ status: provisional
135
+ notes: "(C): the begin declare target directive takes device_type and indirect only (5.2 §7.8.2, 6.0 §9.9.2); TableGen also lists to and link."
136
+ - directive: begin declare target
137
+ clause: link
138
+ remove: true
139
+ citation: "OpenMP 5.2 §7.8.2, p.207"
140
+ also_cited: ["OpenMP 6.0 §9.9.2, p.349"]
141
+ status: provisional
142
+ notes: "(C): see the to entry."
143
+ - directive: declare target
144
+ clause: to
145
+ until: 52
146
+ citation: "OpenMP 6.0 §9.9.1, p.346"
147
+ also_cited: ["OpenMP 6.0 §7.10.1, p.297"]
148
+ status: provisional
149
+ notes: "6.0 lists device_type, enter, indirect, link and local on declare_target, and puts to only on target_update; 5.2 §5.8.4 keeps to as a deprecated synonym of enter."
150
+ - directive: target parallel do
151
+ clause: allocator
152
+ remove: true
153
+ citation: "OpenMP 5.2 §6.4, p.175"
154
+ also_cited: ["OpenMP 6.0 §8.4, p.310"]
155
+ status: provisional
156
+ notes: "The allocator clause appears only on the allocate directive in both versions; TableGen allows it on target parallel do."
157
+ - directive: target parallel do
158
+ clause: allocate
159
+ add: true
160
+ since: 50
161
+ citation: "OpenMP 5.2 §6.6, p.178"
162
+ also_cited: ["OpenMP 5.2 §17.2, p.341", "OpenMP 6.0 §8.6, p.312", "OpenMP 6.0 §19.2, p.530"]
163
+ status: provisional
164
+ notes: "The allocate clause section lists target, parallel and do; a clause on a combined construct must apply to at least one leaf construct (§17.2 / §19.2). TableGen gives allocate (from 5.0) to target parallel, parallel do and target, but not to target parallel do."
165
+ - directive: target parallel do
166
+ clause: thread_limit
167
+ add: true
168
+ once: true
169
+ since: 51
170
+ citation: "OpenMP 5.2 §13.3, p.277"
171
+ also_cited: ["OpenMP 5.2 §17.2, p.340", "OpenMP 6.0 §15.3, p.452", "OpenMP 6.0 §19.2, p.530"]
172
+ status: provisional
173
+ notes: "thread_limit is a target clause, and §17.2 applies thread_limit on a combined construct to all leaves that permit it. TableGen gives it (from 5.1, once) to target and target parallel, but not to target parallel do."
174
+ - directive: target parallel do simd
175
+ clause: thread_limit
176
+ add: true
177
+ once: true
178
+ since: 51
179
+ citation: "OpenMP 5.2 §13.3, p.277"
180
+ also_cited: ["OpenMP 5.2 §17.2, p.340", "OpenMP 6.0 §15.3, p.452", "OpenMP 6.0 §19.2, p.530"]
181
+ status: provisional
182
+ notes: "Same leaves as target parallel do plus simd, which adds no restriction; §17.2 applies thread_limit to all leaves that permit it. TableGen omits it here."
183
+ - directive: target loop
184
+ clause: default
185
+ add: true
186
+ once: true
187
+ since: 60
188
+ citation: "OpenMP 6.0 §7.5.1, p.223"
189
+ also_cited: ["OpenMP 6.0 §19.2, p.528", "OpenMP 5.2 §17.2, p.340"]
190
+ status: provisional
191
+ notes: "The 6.0 default clause section lists target (5.2 does not, so since 60, as on the target leaf); §19.2 gives every clause the default all-constituents property unless otherwise specified, and 5.2 §17.2 names default among the clauses applied to all leaves that permit them. loop adds no restriction. TableGen omits default on target loop."
192
+ - directive: target simd
193
+ clause: default
194
+ add: true
195
+ once: true
196
+ since: 60
197
+ citation: "OpenMP 6.0 §7.5.1, p.223"
198
+ also_cited: ["OpenMP 6.0 §19.2, p.528", "OpenMP 5.2 §17.2, p.340"]
199
+ status: provisional
200
+ notes: "As for target loop: the target leaf permits default from 6.0 and simd adds no restriction (the argument used for thread_limit on target parallel do simd). TableGen omits default on target simd."
201
+ - directive: target teams distribute simd
202
+ clause: default
203
+ since: 1
204
+ citation: "OpenMP 5.2 §5.4.1, p.109"
205
+ also_cited: ["OpenMP 5.2 §17.2, p.340", "OpenMP 6.0 §7.5.1, p.223", "OpenMP 6.0 §19.2, p.528"]
206
+ status: provisional
207
+ notes: "The teams leaf permits default at every version (the 5.2 and 6.0 default clause sections both list teams) and §17.2 applies default to all leaves that permit it, so the compound permits it at 5.2 as its sibling target teams distribute already does in TableGen (min_ver 1 there, hence since 1 here). TableGen gives target teams distribute simd default only from 6.0."
208
+ - directive: target parallel
209
+ clause: in_reduction
210
+ add: true
211
+ since: 50
212
+ citation: "OpenMP 5.2 §17.2, p.339"
213
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
214
+ status: provisional
215
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) excludes in_reduction only when directive-name-A is parallel, which is not the case here."
216
+ - directive: target parallel do
217
+ clause: in_reduction
218
+ add: true
219
+ since: 50
220
+ citation: "OpenMP 5.2 §17.2, p.339"
221
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
222
+ status: provisional
223
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) says \"If directive-name-A is parallel, the nowait and in_reduction clauses must not be specified\" and that the restrictions of directive-name-A and directive-name-B apply; here directive-name-A is target, so the catalog reads the restriction non-recursively (as it does for nowait on target parallel do, which TableGen allows at 5.2). Read recursively it would exclude in_reduction at 5.2 wherever parallel is a nested name-A (target parallel do, target parallel do simd, target parallel loop, target teams distribute parallel do [simd]); maintainer decision."
224
+ - directive: target parallel do simd
225
+ clause: in_reduction
226
+ add: true
227
+ since: 50
228
+ citation: "OpenMP 5.2 §17.2, p.339"
229
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
230
+ status: provisional
231
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) says \"If directive-name-A is parallel, the nowait and in_reduction clauses must not be specified\" and that the restrictions of directive-name-A and directive-name-B apply; here directive-name-A is target, so the catalog reads the restriction non-recursively (as it does for nowait on target parallel do, which TableGen allows at 5.2). Read recursively it would exclude in_reduction at 5.2 wherever parallel is a nested name-A (target parallel do, target parallel do simd, target parallel loop, target teams distribute parallel do [simd]); maintainer decision."
232
+ - directive: target parallel loop
233
+ clause: in_reduction
234
+ add: true
235
+ since: 50
236
+ citation: "OpenMP 5.2 §17.2, p.339"
237
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
238
+ status: provisional
239
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) says \"If directive-name-A is parallel, the nowait and in_reduction clauses must not be specified\" and that the restrictions of directive-name-A and directive-name-B apply; here directive-name-A is target, so the catalog reads the restriction non-recursively (as it does for nowait on target parallel do, which TableGen allows at 5.2). Read recursively it would exclude in_reduction at 5.2 wherever parallel is a nested name-A (target parallel do, target parallel do simd, target parallel loop, target teams distribute parallel do [simd]); maintainer decision."
240
+ - directive: target simd
241
+ clause: in_reduction
242
+ add: true
243
+ since: 50
244
+ citation: "OpenMP 5.2 §17.2, p.339"
245
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
246
+ status: provisional
247
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) excludes in_reduction only when directive-name-A is parallel, which is not the case here."
248
+ - directive: target teams
249
+ clause: in_reduction
250
+ add: true
251
+ since: 50
252
+ citation: "OpenMP 5.2 §17.2, p.339"
253
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
254
+ status: provisional
255
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) excludes in_reduction only when directive-name-A is parallel, which is not the case here."
256
+ - directive: target teams distribute
257
+ clause: in_reduction
258
+ add: true
259
+ since: 50
260
+ citation: "OpenMP 5.2 §17.2, p.339"
261
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
262
+ status: provisional
263
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) excludes in_reduction only when directive-name-A is parallel, which is not the case here."
264
+ - directive: target teams distribute parallel do
265
+ clause: in_reduction
266
+ add: true
267
+ since: 50
268
+ citation: "OpenMP 5.2 §17.2, p.339"
269
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
270
+ status: provisional
271
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) says \"If directive-name-A is parallel, the nowait and in_reduction clauses must not be specified\" and that the restrictions of directive-name-A and directive-name-B apply; here directive-name-A is target, so the catalog reads the restriction non-recursively (as it does for nowait on target parallel do, which TableGen allows at 5.2). Read recursively it would exclude in_reduction at 5.2 wherever parallel is a nested name-A (target parallel do, target parallel do simd, target parallel loop, target teams distribute parallel do [simd]); maintainer decision."
272
+ - directive: target teams distribute parallel do simd
273
+ clause: in_reduction
274
+ add: true
275
+ since: 50
276
+ citation: "OpenMP 5.2 §17.2, p.339"
277
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
278
+ status: provisional
279
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) says \"If directive-name-A is parallel, the nowait and in_reduction clauses must not be specified\" and that the restrictions of directive-name-A and directive-name-B apply; here directive-name-A is target, so the catalog reads the restriction non-recursively (as it does for nowait on target parallel do, which TableGen allows at 5.2). Read recursively it would exclude in_reduction at 5.2 wherever parallel is a nested name-A (target parallel do, target parallel do simd, target parallel loop, target teams distribute parallel do [simd]); maintainer decision."
280
+ - directive: target teams distribute simd
281
+ clause: in_reduction
282
+ add: true
283
+ since: 50
284
+ citation: "OpenMP 5.2 §17.2, p.339"
285
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
286
+ status: provisional
287
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) excludes in_reduction only when directive-name-A is parallel, which is not the case here."
288
+ - directive: target teams loop
289
+ clause: in_reduction
290
+ add: true
291
+ since: 50
292
+ citation: "OpenMP 5.2 §17.2, p.339"
293
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
294
+ status: provisional
295
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) excludes in_reduction only when directive-name-A is parallel, which is not the case here."
296
+ - directive: target teams workdistribute
297
+ clause: in_reduction
298
+ add: true
299
+ since: 50
300
+ citation: "OpenMP 5.2 §17.2, p.339"
301
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §5.5.10, p.138", "OpenMP 6.0 §7.6.12, p.256", "OpenMP 6.0 §19.2, p.528"]
302
+ status: provisional
303
+ notes: "in_reduction is permitted only on the target leaf (5.2 §5.5.10 and 6.0 §7.6.12 list target, task and taskloop; 6.0 adds target_data); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and no exclusion is stated. TableGen gives it to target and target loop (from 5.0) only. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 (no expected error) and aomp smoke-fails FNew-flang-270386. 5.2 §17.4 (p.343) excludes in_reduction only when directive-name-A is parallel, which is not the case here."
304
+ - directive: target parallel
305
+ clause: copyin
306
+ add: true
307
+ since: 60
308
+ citation: "OpenMP 6.0 §19.2, p.528"
309
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §17.2, p.339", "OpenMP 5.2 §5.7.1, p.144", "OpenMP 6.0 §7.8.1, p.271", "OpenMP 6.0 §19.3, p.531"]
310
+ status: provisional
311
+ notes: "5.2 excludes it: \"If directive-name-A is target, the copyin clause must not be specified\" (5.2 §17.4, p.343; 5.1 §2.16.16 to §2.16.19 say \"except for copyin\"), so not before 6.0. 6.0 drops that restriction (§19.3 keeps only the distribute one) and gives copyin the outermost-leaf property (§7.8.1), so a clause permitted only on the parallel leaf applies to it (§19.2). TableGen omits it on this compound. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 uses copyin on teams distribute parallel do simd only."
312
+ - directive: target parallel do
313
+ clause: copyin
314
+ add: true
315
+ since: 60
316
+ citation: "OpenMP 6.0 §19.2, p.528"
317
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §17.2, p.339", "OpenMP 5.2 §5.7.1, p.144", "OpenMP 6.0 §7.8.1, p.271", "OpenMP 6.0 §19.3, p.531"]
318
+ status: provisional
319
+ notes: "5.2 excludes it: \"If directive-name-A is target, the copyin clause must not be specified\" (5.2 §17.4, p.343; 5.1 §2.16.16 to §2.16.19 say \"except for copyin\"), so not before 6.0. 6.0 drops that restriction (§19.3 keeps only the distribute one) and gives copyin the outermost-leaf property (§7.8.1), so a clause permitted only on the parallel leaf applies to it (§19.2). TableGen omits it on this compound. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 uses copyin on teams distribute parallel do simd only."
320
+ - directive: target parallel do simd
321
+ clause: copyin
322
+ add: true
323
+ since: 60
324
+ citation: "OpenMP 6.0 §19.2, p.528"
325
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §17.2, p.339", "OpenMP 5.2 §5.7.1, p.144", "OpenMP 6.0 §7.8.1, p.271", "OpenMP 6.0 §19.3, p.531"]
326
+ status: provisional
327
+ notes: "5.2 excludes it: \"If directive-name-A is target, the copyin clause must not be specified\" (5.2 §17.4, p.343; 5.1 §2.16.16 to §2.16.19 say \"except for copyin\"), so not before 6.0. 6.0 drops that restriction (§19.3 keeps only the distribute one) and gives copyin the outermost-leaf property (§7.8.1), so a clause permitted only on the parallel leaf applies to it (§19.2). TableGen omits it on this compound. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 uses copyin on teams distribute parallel do simd only."
328
+ - directive: target parallel loop
329
+ clause: copyin
330
+ add: true
331
+ since: 60
332
+ citation: "OpenMP 6.0 §19.2, p.528"
333
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §17.2, p.339", "OpenMP 5.2 §5.7.1, p.144", "OpenMP 6.0 §7.8.1, p.271", "OpenMP 6.0 §19.3, p.531"]
334
+ status: provisional
335
+ notes: "5.2 excludes it: \"If directive-name-A is target, the copyin clause must not be specified\" (5.2 §17.4, p.343; 5.1 §2.16.16 to §2.16.19 say \"except for copyin\"), so not before 6.0. 6.0 drops that restriction (§19.3 keeps only the distribute one) and gives copyin the outermost-leaf property (§7.8.1), so a clause permitted only on the parallel leaf applies to it (§19.2). TableGen omits it on this compound. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 uses copyin on teams distribute parallel do simd only."
336
+ - directive: target teams distribute parallel do
337
+ clause: copyin
338
+ add: true
339
+ since: 60
340
+ citation: "OpenMP 6.0 §19.2, p.528"
341
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §17.2, p.339", "OpenMP 5.2 §5.7.1, p.144", "OpenMP 6.0 §7.8.1, p.271", "OpenMP 6.0 §19.3, p.531"]
342
+ status: provisional
343
+ notes: "5.2 excludes it: \"If directive-name-A is target, the copyin clause must not be specified\" (5.2 §17.4, p.343; 5.1 §2.16.16 to §2.16.19 say \"except for copyin\"), so not before 6.0. 6.0 drops that restriction (§19.3 keeps only the distribute one) and gives copyin the outermost-leaf property (§7.8.1), so a clause permitted only on the parallel leaf applies to it (§19.2). TableGen omits it on this compound. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 uses copyin on teams distribute parallel do simd only."
344
+ - directive: target teams distribute parallel do simd
345
+ clause: copyin
346
+ add: true
347
+ since: 60
348
+ citation: "OpenMP 6.0 §19.2, p.528"
349
+ also_cited: ["OpenMP 5.2 §17.4, p.343", "OpenMP 5.2 §17.2, p.339", "OpenMP 5.2 §5.7.1, p.144", "OpenMP 6.0 §7.8.1, p.271", "OpenMP 6.0 §19.3, p.531"]
350
+ status: provisional
351
+ notes: "5.2 excludes it: \"If directive-name-A is target, the copyin clause must not be specified\" (5.2 §17.4, p.343; 5.1 §2.16.16 to §2.16.19 say \"except for copyin\"), so not before 6.0. 6.0 drops that restriction (§19.3 keeps only the distribute one) and gives copyin the outermost-leaf property (§7.8.1), so a clause permitted only on the parallel leaf applies to it (§19.2). TableGen omits it on this compound. Corpus: gcc gfortran.dg/gomp/clauses-1.f90 uses copyin on teams distribute parallel do simd only."
352
+ - directive: teams distribute parallel do simd
353
+ clause: copyin
354
+ add: true
355
+ since: 1
356
+ citation: "OpenMP 5.2 §17.2, p.339"
357
+ also_cited: ["OpenMP 5.2 §5.7.1, p.144", "OpenMP 6.0 §7.8.1, p.271", "OpenMP 6.0 §19.2, p.528"]
358
+ status: provisional
359
+ notes: "copyin is permitted only on the parallel leaf (5.2 §5.7.1, 6.0 §7.8.1); a clause permitted on a single leaf of a compound construct applies to that leaf (5.2 §17.2, 6.0 §19.2), and 6.0 gives copyin the outermost-leaf property for exactly this case. No exclusion is stated. TableGen omits it on this compound. Corpus: gcc gfortran.dg/gomp/clauses-1.f90:396 (no expected error)."
360
+ - directive: target
361
+ clause: device_type
362
+ add: true
363
+ once: true
364
+ since: 60
365
+ citation: "OpenMP 6.0 §15.8, p.460"
366
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
367
+ status: provisional
368
+ notes: "The 6.0 target construct lists device_type among its clauses and the 6.0 device_type section lists target (5.2 lists only declare target). TableGen allows device_type only on declarative directives. Corpus: gcc gfortran.dg/gomp/target-device-type-1.f90 (no expected error)."
369
+ - directive: target loop
370
+ clause: device_type
371
+ add: true
372
+ once: true
373
+ since: 60
374
+ citation: "OpenMP 6.0 §15.8, p.460"
375
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
376
+ status: provisional
377
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
378
+ - directive: target parallel
379
+ clause: device_type
380
+ add: true
381
+ once: true
382
+ since: 60
383
+ citation: "OpenMP 6.0 §15.8, p.460"
384
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
385
+ status: provisional
386
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
387
+ - directive: target parallel do
388
+ clause: device_type
389
+ add: true
390
+ once: true
391
+ since: 60
392
+ citation: "OpenMP 6.0 §15.8, p.460"
393
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
394
+ status: provisional
395
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
396
+ - directive: target parallel do simd
397
+ clause: device_type
398
+ add: true
399
+ once: true
400
+ since: 60
401
+ citation: "OpenMP 6.0 §15.8, p.460"
402
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
403
+ status: provisional
404
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
405
+ - directive: target parallel loop
406
+ clause: device_type
407
+ add: true
408
+ once: true
409
+ since: 60
410
+ citation: "OpenMP 6.0 §15.8, p.460"
411
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
412
+ status: provisional
413
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
414
+ - directive: target simd
415
+ clause: device_type
416
+ add: true
417
+ once: true
418
+ since: 60
419
+ citation: "OpenMP 6.0 §15.8, p.460"
420
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
421
+ status: provisional
422
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
423
+ - directive: target teams
424
+ clause: device_type
425
+ add: true
426
+ once: true
427
+ since: 60
428
+ citation: "OpenMP 6.0 §15.8, p.460"
429
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
430
+ status: provisional
431
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
432
+ - directive: target teams distribute
433
+ clause: device_type
434
+ add: true
435
+ once: true
436
+ since: 60
437
+ citation: "OpenMP 6.0 §15.8, p.460"
438
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
439
+ status: provisional
440
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
441
+ - directive: target teams distribute parallel do
442
+ clause: device_type
443
+ add: true
444
+ once: true
445
+ since: 60
446
+ citation: "OpenMP 6.0 §15.8, p.460"
447
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
448
+ status: provisional
449
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
450
+ - directive: target teams distribute parallel do simd
451
+ clause: device_type
452
+ add: true
453
+ once: true
454
+ since: 60
455
+ citation: "OpenMP 6.0 §15.8, p.460"
456
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
457
+ status: provisional
458
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
459
+ - directive: target teams distribute simd
460
+ clause: device_type
461
+ add: true
462
+ once: true
463
+ since: 60
464
+ citation: "OpenMP 6.0 §15.8, p.460"
465
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
466
+ status: provisional
467
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
468
+ - directive: target teams loop
469
+ clause: device_type
470
+ add: true
471
+ once: true
472
+ since: 60
473
+ citation: "OpenMP 6.0 §15.8, p.460"
474
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
475
+ status: provisional
476
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
477
+ - directive: target teams workdistribute
478
+ clause: device_type
479
+ add: true
480
+ once: true
481
+ since: 60
482
+ citation: "OpenMP 6.0 §15.8, p.460"
483
+ also_cited: ["OpenMP 6.0 §15.1, p.450", "OpenMP 6.0 §19.2, p.528"]
484
+ status: provisional
485
+ notes: "device_type is permitted only on the target leaf (6.0 §15.1, §15.8); it has the default all-constituents property, so on a compound it applies to the target leaf (6.0 §19.2). Added with target so the combined-construct consistency holds. Corpus (target teams): gcc libgomp.fortran/groupprivate-1.f90:72."
486
+ - directive: target data
487
+ clause: depend
488
+ add: true
489
+ since: 60
490
+ citation: "OpenMP 6.0 §15.7, p.458"
491
+ also_cited: ["OpenMP 6.0 §17.9.5, p.507"]
492
+ status: provisional
493
+ notes: "6.0 makes target_data a composite construct and lists depend among its clauses; the 6.0 depend section lists target_data (5.2 §15.9.5 does not). Corpus: omp_examples devices/sources/target_data_semantics_new.1.f90:48."
494
+ - directive: target data
495
+ clause: nogroup
496
+ add: true
497
+ once: true
498
+ since: 60
499
+ citation: "OpenMP 6.0 §15.7, p.458"
500
+ also_cited: ["OpenMP 6.0 §17.7, p.483"]
501
+ status: provisional
502
+ notes: "6.0 lists nogroup among the target_data clauses; the 6.0 nogroup section (unique) lists target_data. Corpus: omp_examples devices/sources/target_data_semantics_new.1.f90:31."
503
+ - directive: target data
504
+ clause: nowait
505
+ add: true
506
+ once: true
507
+ since: 60
508
+ citation: "OpenMP 6.0 §15.7, p.458"
509
+ also_cited: ["OpenMP 6.0 §17.6, p.481"]
510
+ status: provisional
511
+ notes: "6.0 lists nowait among the target_data clauses; the 6.0 nowait section (unique, end-clause) lists target_data. Corpus: omp_examples devices/sources/target_data_semantics_new.1.f90:67."
512
+ - directive: distribute
513
+ clause: induction
514
+ add: true
515
+ since: 60
516
+ citation: "OpenMP 6.0 §7.6.13, p.257"
517
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
518
+ status: provisional
519
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
520
+ - directive: distribute parallel do
521
+ clause: induction
522
+ add: true
523
+ since: 60
524
+ citation: "OpenMP 6.0 §7.6.13, p.257"
525
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
526
+ status: provisional
527
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
528
+ - directive: distribute parallel do simd
529
+ clause: induction
530
+ add: true
531
+ since: 60
532
+ citation: "OpenMP 6.0 §7.6.13, p.257"
533
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
534
+ status: provisional
535
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
536
+ - directive: distribute simd
537
+ clause: induction
538
+ add: true
539
+ since: 60
540
+ citation: "OpenMP 6.0 §7.6.13, p.257"
541
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
542
+ status: provisional
543
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
544
+ - directive: parallel do
545
+ clause: induction
546
+ add: true
547
+ since: 60
548
+ citation: "OpenMP 6.0 §7.6.13, p.257"
549
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
550
+ status: provisional
551
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
552
+ - directive: parallel do simd
553
+ clause: induction
554
+ add: true
555
+ since: 60
556
+ citation: "OpenMP 6.0 §7.6.13, p.257"
557
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
558
+ status: provisional
559
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
560
+ - directive: target parallel do
561
+ clause: induction
562
+ add: true
563
+ since: 60
564
+ citation: "OpenMP 6.0 §7.6.13, p.257"
565
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
566
+ status: provisional
567
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
568
+ - directive: target parallel do simd
569
+ clause: induction
570
+ add: true
571
+ since: 60
572
+ citation: "OpenMP 6.0 §7.6.13, p.257"
573
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
574
+ status: provisional
575
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
576
+ - directive: target simd
577
+ clause: induction
578
+ add: true
579
+ since: 60
580
+ citation: "OpenMP 6.0 §7.6.13, p.257"
581
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
582
+ status: provisional
583
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
584
+ - directive: target teams distribute
585
+ clause: induction
586
+ add: true
587
+ since: 60
588
+ citation: "OpenMP 6.0 §7.6.13, p.257"
589
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
590
+ status: provisional
591
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
592
+ - directive: target teams distribute parallel do
593
+ clause: induction
594
+ add: true
595
+ since: 60
596
+ citation: "OpenMP 6.0 §7.6.13, p.257"
597
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
598
+ status: provisional
599
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
600
+ - directive: target teams distribute parallel do simd
601
+ clause: induction
602
+ add: true
603
+ since: 60
604
+ citation: "OpenMP 6.0 §7.6.13, p.257"
605
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
606
+ status: provisional
607
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
608
+ - directive: target teams distribute simd
609
+ clause: induction
610
+ add: true
611
+ since: 60
612
+ citation: "OpenMP 6.0 §7.6.13, p.257"
613
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
614
+ status: provisional
615
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
616
+ - directive: teams distribute
617
+ clause: induction
618
+ add: true
619
+ since: 60
620
+ citation: "OpenMP 6.0 §7.6.13, p.257"
621
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
622
+ status: provisional
623
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
624
+ - directive: teams distribute parallel do
625
+ clause: induction
626
+ add: true
627
+ since: 60
628
+ citation: "OpenMP 6.0 §7.6.13, p.257"
629
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
630
+ status: provisional
631
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
632
+ - directive: teams distribute parallel do simd
633
+ clause: induction
634
+ add: true
635
+ since: 60
636
+ citation: "OpenMP 6.0 §7.6.13, p.257"
637
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
638
+ status: provisional
639
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
640
+ - directive: teams distribute simd
641
+ clause: induction
642
+ add: true
643
+ since: 60
644
+ citation: "OpenMP 6.0 §7.6.13, p.257"
645
+ also_cited: ["OpenMP 6.0 §19.2, p.528"]
646
+ status: provisional
647
+ notes: "The 6.0 induction clause section lists distribute, do, for, simd and taskloop; on a compound it applies to all leaves that permit it (default all-constituents property, 6.0 §19.2). New in 6.0; TableGen has the clause but allows it nowhere. Corpus: omp_examples data_environment/sources/induction.1.f90:21 (parallel do)."
648
+
649
+ - directive: target loop
650
+ clause: replayable
651
+ add: true
652
+ once: true
653
+ since: 60
654
+ citation: "OpenMP 6.0 §15.8, p.460"
655
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
656
+ status: provisional
657
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
658
+ - directive: target parallel
659
+ clause: replayable
660
+ add: true
661
+ once: true
662
+ since: 60
663
+ citation: "OpenMP 6.0 §15.8, p.460"
664
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
665
+ status: provisional
666
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
667
+ - directive: target parallel do
668
+ clause: replayable
669
+ add: true
670
+ once: true
671
+ since: 60
672
+ citation: "OpenMP 6.0 §15.8, p.460"
673
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
674
+ status: provisional
675
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
676
+ - directive: target parallel do simd
677
+ clause: replayable
678
+ add: true
679
+ once: true
680
+ since: 60
681
+ citation: "OpenMP 6.0 §15.8, p.460"
682
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
683
+ status: provisional
684
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
685
+ - directive: target parallel loop
686
+ clause: replayable
687
+ add: true
688
+ once: true
689
+ since: 60
690
+ citation: "OpenMP 6.0 §15.8, p.460"
691
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
692
+ status: provisional
693
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
694
+ - directive: target simd
695
+ clause: replayable
696
+ add: true
697
+ once: true
698
+ since: 60
699
+ citation: "OpenMP 6.0 §15.8, p.460"
700
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
701
+ status: provisional
702
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
703
+ - directive: target teams
704
+ clause: replayable
705
+ add: true
706
+ once: true
707
+ since: 60
708
+ citation: "OpenMP 6.0 §15.8, p.460"
709
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
710
+ status: provisional
711
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
712
+ - directive: target teams distribute
713
+ clause: replayable
714
+ add: true
715
+ once: true
716
+ since: 60
717
+ citation: "OpenMP 6.0 §15.8, p.460"
718
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
719
+ status: provisional
720
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
721
+ - directive: target teams distribute parallel do
722
+ clause: replayable
723
+ add: true
724
+ once: true
725
+ since: 60
726
+ citation: "OpenMP 6.0 §15.8, p.460"
727
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
728
+ status: provisional
729
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
730
+ - directive: target teams distribute parallel do simd
731
+ clause: replayable
732
+ add: true
733
+ once: true
734
+ since: 60
735
+ citation: "OpenMP 6.0 §15.8, p.460"
736
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
737
+ status: provisional
738
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
739
+ - directive: target teams distribute simd
740
+ clause: replayable
741
+ add: true
742
+ once: true
743
+ since: 60
744
+ citation: "OpenMP 6.0 §15.8, p.460"
745
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
746
+ status: provisional
747
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
748
+ - directive: target teams loop
749
+ clause: replayable
750
+ add: true
751
+ once: true
752
+ since: 60
753
+ citation: "OpenMP 6.0 §15.8, p.460"
754
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
755
+ status: provisional
756
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
757
+ - directive: target teams workdistribute
758
+ clause: replayable
759
+ add: true
760
+ once: true
761
+ since: 60
762
+ citation: "OpenMP 6.0 §15.8, p.460"
763
+ also_cited: ["OpenMP 6.0 §14.6, p.440", "OpenMP 6.0 §19.2, p.528", "OpenMP 6.0 §19.3, p.531"]
764
+ status: provisional
765
+ notes: "The 6.0 target construct lists replayable and the 6.0 replayable section lists target; on a compound it applies to the target leaf (default all-constituents property, 6.0 §19.2) and §19.3 states no exclusion. Same situation as device_type. TableGen gives replayable (once, from 6.0) to target but not to this compound; once follows the target rule. Not exercised by the corpus; added for consistency with the target leaf (review)."
766
+ # Review sweep (5.2 clause lists): every (slice directive, clause)
767
+ # allowed at 5.2 was checked against the "Directives" list of the clause's
768
+ # 5.2 section (6.0 likewise); a clause on a compound needs a leaf in that
769
+ # list (5.2 §17.2 / 6.0 §19.2). Narrowing only.
770
+ - directive: requires
771
+ clause: self_maps
772
+ since: 60
773
+ citation: "OpenMP 6.0 §10.5.1.6, p.361"
774
+ also_cited: ["OpenMP 5.2 §8.2, p.210"]
775
+ status: provisional
776
+ notes: "self_maps is a 6.0 requires clause; the 5.2 text has no self_maps (the 5.2 requires directive lists none). TableGen allows it from version 1."
777
+ - directive: teams
778
+ clause: if
779
+ since: 60
780
+ citation: "OpenMP 5.2 §3.4, p.72"
781
+ also_cited: ["OpenMP 6.0 §5.5, p.179"]
782
+ status: provisional
783
+ notes: "The 5.2 if clause lists cancel, parallel, simd, target, target data, target enter data, target exit data, target update, task and taskloop, not teams; 6.0 adds teams. TableGen allows it from 5.2. Provisional also because 5.2 contradicts itself: 5.2 §10.2 (teams) says the number of teams created \"is determined by evaluating the if and num_teams clauses\"."
784
+ - directive: teams distribute
785
+ clause: if
786
+ since: 60
787
+ citation: "OpenMP 5.2 §3.4, p.72"
788
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §5.5, p.179"]
789
+ status: provisional
790
+ notes: "Neither leaf (teams, distribute) takes if at 5.2; teams does at 6.0. TableGen allows it from version 1. Provisional also because 5.2 contradicts itself: 5.2 §10.2 (teams) says the number of teams created \"is determined by evaluating the if and num_teams clauses\"."
791
+ - directive: teams loop
792
+ clause: if
793
+ since: 60
794
+ citation: "OpenMP 5.2 §3.4, p.72"
795
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §5.5, p.179"]
796
+ status: provisional
797
+ notes: "Neither leaf (teams, loop) takes if at 5.2; teams does at 6.0. TableGen allows it from 5.2. Provisional also because 5.2 contradicts itself: 5.2 §10.2 (teams) says the number of teams created \"is determined by evaluating the if and num_teams clauses\"."
798
+ - directive: distribute simd
799
+ clause: copyin
800
+ remove: true
801
+ citation: "OpenMP 5.2 §5.7.1, p.144"
802
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §19.2, p.530"]
803
+ status: provisional
804
+ notes: "The copyin clause section does not list distribute or simd (copyin lists only parallel, in 5.2 and 6.0); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
805
+ - directive: distribute simd
806
+ clause: default
807
+ remove: true
808
+ citation: "OpenMP 5.2 §5.4.1, p.109"
809
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §19.2, p.530"]
810
+ status: provisional
811
+ notes: "The default clause section does not list distribute or simd (default lists parallel, task, taskloop, teams; 6.0 also target, target_data, in 5.2 and 6.0); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
812
+ - directive: distribute simd
813
+ clause: num_threads
814
+ remove: true
815
+ citation: "OpenMP 5.2 §10.1.2, p.227"
816
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §19.2, p.530"]
817
+ status: provisional
818
+ notes: "The num_threads clause section does not list distribute or simd (num_threads lists only parallel, in 5.2 and 6.0); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
819
+ - directive: distribute simd
820
+ clause: proc_bind
821
+ remove: true
822
+ citation: "OpenMP 5.2 §10.1.4, p.229"
823
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §19.2, p.530"]
824
+ status: provisional
825
+ notes: "The proc_bind clause section does not list distribute or simd (proc_bind lists only parallel, in 5.2 and 6.0); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
826
+ - directive: distribute simd
827
+ clause: schedule
828
+ remove: true
829
+ citation: "OpenMP 5.2 §11.5.3, p.252"
830
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §19.2, p.530"]
831
+ status: provisional
832
+ notes: "The schedule clause section does not list distribute or simd (schedule lists do and for, in 5.2 and 6.0); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
833
+ - directive: distribute simd
834
+ clause: message
835
+ remove: true
836
+ citation: "OpenMP 6.0 §10.3, p.353"
837
+ also_cited: ["OpenMP 6.0 §19.2, p.530"]
838
+ status: provisional
839
+ notes: "The message clause section does not list distribute or simd (the 5.2 message clause lists only error, 5.2 §8.5.2; 6.0 lists error and parallel); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
840
+ - directive: distribute simd
841
+ clause: severity
842
+ remove: true
843
+ citation: "OpenMP 6.0 §10.4, p.354"
844
+ also_cited: ["OpenMP 6.0 §19.2, p.530"]
845
+ status: provisional
846
+ notes: "The severity clause section does not list distribute or simd (the 5.2 severity clause lists only error, 5.2 §8.5.1; 6.0 lists error and parallel); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
847
+ - directive: target simd
848
+ clause: num_threads
849
+ remove: true
850
+ citation: "OpenMP 5.2 §10.1.2, p.227"
851
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §19.2, p.530"]
852
+ status: provisional
853
+ notes: "The num_threads clause section does not list target or simd (num_threads lists only parallel, in 5.2 and 6.0); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
854
+ - directive: target simd
855
+ clause: proc_bind
856
+ remove: true
857
+ citation: "OpenMP 5.2 §10.1.4, p.229"
858
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §19.2, p.530"]
859
+ status: provisional
860
+ notes: "The proc_bind clause section does not list target or simd (proc_bind lists only parallel, in 5.2 and 6.0); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
861
+ - directive: target simd
862
+ clause: schedule
863
+ remove: true
864
+ citation: "OpenMP 5.2 §11.5.3, p.252"
865
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §19.2, p.530"]
866
+ status: provisional
867
+ notes: "The schedule clause section does not list target or simd (schedule lists do and for, in 5.2 and 6.0); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
868
+ - directive: target simd
869
+ clause: shared
870
+ remove: true
871
+ citation: "OpenMP 5.2 §5.4.2, p.110"
872
+ also_cited: ["OpenMP 5.2 §17.2, p.339", "OpenMP 6.0 §19.2, p.530"]
873
+ status: provisional
874
+ notes: "The shared clause section does not list target or simd (shared lists parallel, task, taskloop, teams; 6.0 also target_data, in 5.2 and 6.0); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
875
+ - directive: target simd
876
+ clause: message
877
+ remove: true
878
+ citation: "OpenMP 6.0 §10.3, p.353"
879
+ also_cited: ["OpenMP 6.0 §19.2, p.530"]
880
+ status: provisional
881
+ notes: "The message clause section does not list target or simd (the 5.2 message clause lists only error, 5.2 §8.5.2; 6.0 lists error and parallel); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
882
+ - directive: target simd
883
+ clause: severity
884
+ remove: true
885
+ citation: "OpenMP 6.0 §10.4, p.354"
886
+ also_cited: ["OpenMP 6.0 §19.2, p.530"]
887
+ status: provisional
888
+ notes: "The severity clause section does not list target or simd (the 5.2 severity clause lists only error, 5.2 §8.5.1; 6.0 lists error and parallel); a clause on a combined or composite construct must be allowed on one of its leaves. TableGen allows it."
889
+
890
+ # --- OpenMP 5.0: clauses the 5.0 text does not allow ---------------
891
+ - directive: distribute
892
+ clause: order
893
+ since: 51
894
+ citation: "OpenMP 5.0 §2.9.4.1, p.121"
895
+ also_cited: ["OpenMP 5.1 §2.11.6.1, p.143"]
896
+ status: provisional
897
+ notes: "The 5.0 distribute clause list (private, firstprivate, lastprivate, collapse, dist_schedule, allocate) has no order clause; 5.1 adds order([order-modifier:]concurrent). On distribute no other leaf takes order (teams does not), so order is 5.1+ here. TableGen allows it from 5.0."
898
+ - directive: teams distribute
899
+ clause: order
900
+ since: 51
901
+ citation: "OpenMP 5.0 §2.9.4.1, p.121"
902
+ also_cited: ["OpenMP 5.1 §2.11.6.1, p.143"]
903
+ status: provisional
904
+ notes: "The 5.0 distribute clause list (private, firstprivate, lastprivate, collapse, dist_schedule, allocate) has no order clause; 5.1 adds order([order-modifier:]concurrent). On teams distribute no other leaf takes order (teams does not), so order is 5.1+ here. TableGen allows it from 5.0."
905
+ - directive: target teams distribute
906
+ clause: order
907
+ since: 51
908
+ citation: "OpenMP 5.0 §2.9.4.1, p.121"
909
+ also_cited: ["OpenMP 5.1 §2.11.6.1, p.143"]
910
+ status: provisional
911
+ notes: "The 5.0 distribute clause list (private, firstprivate, lastprivate, collapse, dist_schedule, allocate) has no order clause; 5.1 adds order([order-modifier:]concurrent). On target teams distribute no other leaf takes order (teams does not), so order is 5.1+ here. TableGen allows it from 5.0."
912
+ - directive: distribute parallel do
913
+ clause: linear
914
+ since: 52
915
+ citation: "OpenMP 5.0 §2.9.4.3, p.126"
916
+ also_cited: ["OpenMP 5.1 §2.11.6.3, p.149", "OpenMP 5.2 §17.5, p.344"]
917
+ status: provisional
918
+ notes: "5.0 and 5.1 restrict the distribute parallel worksharing-loop construct: 'No linear clause can be specified.' 5.2 allows linear when distribute is a constituent, for loop iteration variables only (§17.5). The restriction applies to the compounds that contain it (distribute parallel do). TableGen allows linear at every version."
919
+ - directive: teams distribute parallel do
920
+ clause: linear
921
+ since: 52
922
+ citation: "OpenMP 5.0 §2.9.4.3, p.126"
923
+ also_cited: ["OpenMP 5.1 §2.11.6.3, p.149", "OpenMP 5.2 §17.5, p.344"]
924
+ status: provisional
925
+ notes: "5.0 and 5.1 restrict the distribute parallel worksharing-loop construct: 'No linear clause can be specified.' 5.2 allows linear when distribute is a constituent, for loop iteration variables only (§17.5). The restriction applies to the compounds that contain it (teams distribute parallel do). TableGen allows linear at every version."
926
+ - directive: target teams distribute parallel do
927
+ clause: linear
928
+ since: 52
929
+ citation: "OpenMP 5.0 §2.9.4.3, p.126"
930
+ also_cited: ["OpenMP 5.1 §2.11.6.3, p.149", "OpenMP 5.2 §17.5, p.344"]
931
+ status: provisional
932
+ notes: "5.0 and 5.1 restrict the distribute parallel worksharing-loop construct: 'No linear clause can be specified.' 5.2 allows linear when distribute is a constituent, for loop iteration variables only (§17.5). The restriction applies to the compounds that contain it (target teams distribute parallel do). TableGen allows linear at every version."