1 //===--- OpenMPKinds.def - OpenMP directives and clauses list ---*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 /// \file 10 /// \brief This file defines the list of supported OpenMP directives and 11 /// clauses. 12 /// 13 //===----------------------------------------------------------------------===// 14 15 #ifndef OPENMP_DIRECTIVE 16 # define OPENMP_DIRECTIVE(Name) 17 #endif 18 #ifndef OPENMP_DIRECTIVE_EXT 19 #define OPENMP_DIRECTIVE_EXT(Name, Str) 20 #endif 21 #ifndef OPENMP_CLAUSE 22 # define OPENMP_CLAUSE(Name, Class) 23 #endif 24 #ifndef OPENMP_PARALLEL_CLAUSE 25 # define OPENMP_PARALLEL_CLAUSE(Name) 26 #endif 27 #ifndef OPENMP_SIMD_CLAUSE 28 # define OPENMP_SIMD_CLAUSE(Name) 29 #endif 30 #ifndef OPENMP_FOR_CLAUSE 31 # define OPENMP_FOR_CLAUSE(Name) 32 #endif 33 #ifndef OPENMP_FOR_SIMD_CLAUSE 34 # define OPENMP_FOR_SIMD_CLAUSE(Name) 35 #endif 36 #ifndef OPENMP_SECTIONS_CLAUSE 37 # define OPENMP_SECTIONS_CLAUSE(Name) 38 #endif 39 #ifndef OPENMP_SINGLE_CLAUSE 40 # define OPENMP_SINGLE_CLAUSE(Name) 41 #endif 42 #ifndef OPENMP_PARALLEL_FOR_CLAUSE 43 # define OPENMP_PARALLEL_FOR_CLAUSE(Name) 44 #endif 45 #ifndef OPENMP_PARALLEL_FOR_SIMD_CLAUSE 46 # define OPENMP_PARALLEL_FOR_SIMD_CLAUSE(Name) 47 #endif 48 #ifndef OPENMP_PARALLEL_SECTIONS_CLAUSE 49 # define OPENMP_PARALLEL_SECTIONS_CLAUSE(Name) 50 #endif 51 #ifndef OPENMP_TASK_CLAUSE 52 # define OPENMP_TASK_CLAUSE(Name) 53 #endif 54 #ifndef OPENMP_ATOMIC_CLAUSE 55 # define OPENMP_ATOMIC_CLAUSE(Name) 56 #endif 57 #ifndef OPENMP_TARGET_CLAUSE 58 # define OPENMP_TARGET_CLAUSE(Name) 59 #endif 60 #ifndef OPENMP_TARGET_DATA_CLAUSE 61 # define OPENMP_TARGET_DATA_CLAUSE(Name) 62 #endif 63 #ifndef OPENMP_TARGET_ENTER_DATA_CLAUSE 64 #define OPENMP_TARGET_ENTER_DATA_CLAUSE(Name) 65 #endif 66 #ifndef OPENMP_TARGET_EXIT_DATA_CLAUSE 67 #define OPENMP_TARGET_EXIT_DATA_CLAUSE(Name) 68 #endif 69 #ifndef OPENMP_TARGET_PARALLEL_CLAUSE 70 # define OPENMP_TARGET_PARALLEL_CLAUSE(Name) 71 #endif 72 #ifndef OPENMP_TARGET_PARALLEL_FOR_CLAUSE 73 # define OPENMP_TARGET_PARALLEL_FOR_CLAUSE(Name) 74 #endif 75 #ifndef OPENMP_TARGET_UPDATE_CLAUSE 76 # define OPENMP_TARGET_UPDATE_CLAUSE(Name) 77 #endif 78 #ifndef OPENMP_TEAMS_CLAUSE 79 # define OPENMP_TEAMS_CLAUSE(Name) 80 #endif 81 #ifndef OPENMP_CANCEL_CLAUSE 82 # define OPENMP_CANCEL_CLAUSE(Name) 83 #endif 84 #ifndef OPENMP_ORDERED_CLAUSE 85 # define OPENMP_ORDERED_CLAUSE(Name) 86 #endif 87 #ifndef OPENMP_TASKLOOP_CLAUSE 88 # define OPENMP_TASKLOOP_CLAUSE(Name) 89 #endif 90 #ifndef OPENMP_TASKLOOP_SIMD_CLAUSE 91 # define OPENMP_TASKLOOP_SIMD_CLAUSE(Name) 92 #endif 93 #ifndef OPENMP_CRITICAL_CLAUSE 94 # define OPENMP_CRITICAL_CLAUSE(Name) 95 #endif 96 #ifndef OPENMP_DISTRIBUTE_CLAUSE 97 #define OPENMP_DISTRIBUTE_CLAUSE(Name) 98 #endif 99 #ifndef OPENMP_DEFAULT_KIND 100 # define OPENMP_DEFAULT_KIND(Name) 101 #endif 102 #ifndef OPENMP_PROC_BIND_KIND 103 # define OPENMP_PROC_BIND_KIND(Name) 104 #endif 105 #ifndef OPENMP_SCHEDULE_KIND 106 #define OPENMP_SCHEDULE_KIND(Name) 107 #endif 108 #ifndef OPENMP_SCHEDULE_MODIFIER 109 #define OPENMP_SCHEDULE_MODIFIER(Name) 110 #endif 111 #ifndef OPENMP_DEPEND_KIND 112 #define OPENMP_DEPEND_KIND(Name) 113 #endif 114 #ifndef OPENMP_LINEAR_KIND 115 #define OPENMP_LINEAR_KIND(Name) 116 #endif 117 #ifndef OPENMP_MAP_KIND 118 #define OPENMP_MAP_KIND(Name) 119 #endif 120 #ifndef OPENMP_DIST_SCHEDULE_KIND 121 #define OPENMP_DIST_SCHEDULE_KIND(Name) 122 #endif 123 #ifndef OPENMP_DEFAULTMAP_KIND 124 #define OPENMP_DEFAULTMAP_KIND(Name) 125 #endif 126 #ifndef OPENMP_DEFAULTMAP_MODIFIER 127 #define OPENMP_DEFAULTMAP_MODIFIER(Name) 128 #endif 129 #ifndef OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE 130 #define OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(Name) 131 #endif 132 #ifndef OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE 133 #define OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(Name) 134 #endif 135 #ifndef OPENMP_DISTRIBUTE_SIMD_CLAUSE 136 #define OPENMP_DISTRIBUTE_SIMD_CLAUSE(Name) 137 #endif 138 #ifndef OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE 139 #define OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(Name) 140 #endif 141 #ifndef OPENMP_TARGET_SIMD_CLAUSE 142 #define OPENMP_TARGET_SIMD_CLAUSE(Name) 143 #endif 144 #ifndef OPENMP_TEAMS_DISTRIBUTE_CLAUSE 145 #define OPENMP_TEAMS_DISTRIBUTE_CLAUSE(Name) 146 #endif 147 #ifndef OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE 148 #define OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(Name) 149 #endif 150 #ifndef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE 151 #define OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(Name) 152 #endif 153 #ifndef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE 154 #define OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(Name) 155 #endif 156 #ifndef OPENMP_TARGET_TEAMS_CLAUSE 157 #define OPENMP_TARGET_TEAMS_CLAUSE(Name) 158 #endif 159 #ifndef OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE 160 #define OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(Name) 161 #endif 162 #ifndef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE 163 #define OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(Name) 164 #endif 165 #ifndef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE 166 #define OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(Name) 167 #endif 168 #ifndef OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE 169 #define OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(Name) 170 #endif 171 #ifndef OPENMP_TASKGROUP_CLAUSE 172 #define OPENMP_TASKGROUP_CLAUSE(Name) 173 #endif 174 175 // OpenMP directives. 176 OPENMP_DIRECTIVE(threadprivate) 177 OPENMP_DIRECTIVE(parallel) 178 OPENMP_DIRECTIVE(task) 179 OPENMP_DIRECTIVE(simd) 180 OPENMP_DIRECTIVE(for) 181 OPENMP_DIRECTIVE(sections) 182 OPENMP_DIRECTIVE(section) 183 OPENMP_DIRECTIVE(single) 184 OPENMP_DIRECTIVE(master) 185 OPENMP_DIRECTIVE(critical) 186 OPENMP_DIRECTIVE(taskyield) 187 OPENMP_DIRECTIVE(barrier) 188 OPENMP_DIRECTIVE(taskwait) 189 OPENMP_DIRECTIVE(taskgroup) 190 OPENMP_DIRECTIVE(flush) 191 OPENMP_DIRECTIVE(ordered) 192 OPENMP_DIRECTIVE(atomic) 193 OPENMP_DIRECTIVE(target) 194 OPENMP_DIRECTIVE(teams) 195 OPENMP_DIRECTIVE(cancel) 196 OPENMP_DIRECTIVE_EXT(target_data, "target data") 197 OPENMP_DIRECTIVE_EXT(target_enter_data, "target enter data") 198 OPENMP_DIRECTIVE_EXT(target_exit_data, "target exit data") 199 OPENMP_DIRECTIVE_EXT(target_parallel, "target parallel") 200 OPENMP_DIRECTIVE_EXT(target_parallel_for, "target parallel for") 201 OPENMP_DIRECTIVE_EXT(target_update, "target update") 202 OPENMP_DIRECTIVE_EXT(parallel_for, "parallel for") 203 OPENMP_DIRECTIVE_EXT(parallel_for_simd, "parallel for simd") 204 OPENMP_DIRECTIVE_EXT(parallel_sections, "parallel sections") 205 OPENMP_DIRECTIVE_EXT(for_simd, "for simd") 206 OPENMP_DIRECTIVE_EXT(cancellation_point, "cancellation point") 207 OPENMP_DIRECTIVE_EXT(declare_reduction, "declare reduction") 208 OPENMP_DIRECTIVE_EXT(declare_simd, "declare simd") 209 OPENMP_DIRECTIVE(taskloop) 210 OPENMP_DIRECTIVE_EXT(taskloop_simd, "taskloop simd") 211 OPENMP_DIRECTIVE(distribute) 212 OPENMP_DIRECTIVE_EXT(declare_target, "declare target") 213 OPENMP_DIRECTIVE_EXT(end_declare_target, "end declare target") 214 OPENMP_DIRECTIVE_EXT(distribute_parallel_for, "distribute parallel for") 215 OPENMP_DIRECTIVE_EXT(distribute_parallel_for_simd, "distribute parallel for simd") 216 OPENMP_DIRECTIVE_EXT(distribute_simd, "distribute simd") 217 OPENMP_DIRECTIVE_EXT(target_parallel_for_simd, "target parallel for simd") 218 OPENMP_DIRECTIVE_EXT(target_simd, "target simd") 219 OPENMP_DIRECTIVE_EXT(teams_distribute, "teams distribute") 220 OPENMP_DIRECTIVE_EXT(teams_distribute_simd, "teams distribute simd") 221 OPENMP_DIRECTIVE_EXT(teams_distribute_parallel_for_simd, "teams distribute parallel for simd") 222 OPENMP_DIRECTIVE_EXT(teams_distribute_parallel_for, "teams distribute parallel for") 223 OPENMP_DIRECTIVE_EXT(target_teams, "target teams") 224 OPENMP_DIRECTIVE_EXT(target_teams_distribute, "target teams distribute") 225 OPENMP_DIRECTIVE_EXT(target_teams_distribute_parallel_for, "target teams distribute parallel for") 226 OPENMP_DIRECTIVE_EXT(target_teams_distribute_parallel_for_simd, "target teams distribute parallel for simd") 227 OPENMP_DIRECTIVE_EXT(target_teams_distribute_simd, "target teams distribute simd") 228 229 // OpenMP clauses. 230 OPENMP_CLAUSE(if, OMPIfClause) 231 OPENMP_CLAUSE(final, OMPFinalClause) 232 OPENMP_CLAUSE(num_threads, OMPNumThreadsClause) 233 OPENMP_CLAUSE(safelen, OMPSafelenClause) 234 OPENMP_CLAUSE(simdlen, OMPSimdlenClause) 235 OPENMP_CLAUSE(collapse, OMPCollapseClause) 236 OPENMP_CLAUSE(default, OMPDefaultClause) 237 OPENMP_CLAUSE(private, OMPPrivateClause) 238 OPENMP_CLAUSE(firstprivate, OMPFirstprivateClause) 239 OPENMP_CLAUSE(lastprivate, OMPLastprivateClause) 240 OPENMP_CLAUSE(shared, OMPSharedClause) 241 OPENMP_CLAUSE(reduction, OMPReductionClause) 242 OPENMP_CLAUSE(linear, OMPLinearClause) 243 OPENMP_CLAUSE(aligned, OMPAlignedClause) 244 OPENMP_CLAUSE(copyin, OMPCopyinClause) 245 OPENMP_CLAUSE(copyprivate, OMPCopyprivateClause) 246 OPENMP_CLAUSE(proc_bind, OMPProcBindClause) 247 OPENMP_CLAUSE(schedule, OMPScheduleClause) 248 OPENMP_CLAUSE(ordered, OMPOrderedClause) 249 OPENMP_CLAUSE(nowait, OMPNowaitClause) 250 OPENMP_CLAUSE(untied, OMPUntiedClause) 251 OPENMP_CLAUSE(mergeable, OMPMergeableClause) 252 OPENMP_CLAUSE(flush, OMPFlushClause) 253 OPENMP_CLAUSE(read, OMPReadClause) 254 OPENMP_CLAUSE(write, OMPWriteClause) 255 OPENMP_CLAUSE(update, OMPUpdateClause) 256 OPENMP_CLAUSE(capture, OMPCaptureClause) 257 OPENMP_CLAUSE(seq_cst, OMPSeqCstClause) 258 OPENMP_CLAUSE(depend, OMPDependClause) 259 OPENMP_CLAUSE(device, OMPDeviceClause) 260 OPENMP_CLAUSE(threads, OMPThreadsClause) 261 OPENMP_CLAUSE(simd, OMPSIMDClause) 262 OPENMP_CLAUSE(map, OMPMapClause) 263 OPENMP_CLAUSE(num_teams, OMPNumTeamsClause) 264 OPENMP_CLAUSE(thread_limit, OMPThreadLimitClause) 265 OPENMP_CLAUSE(priority, OMPPriorityClause) 266 OPENMP_CLAUSE(grainsize, OMPGrainsizeClause) 267 OPENMP_CLAUSE(nogroup, OMPNogroupClause) 268 OPENMP_CLAUSE(num_tasks, OMPNumTasksClause) 269 OPENMP_CLAUSE(hint, OMPHintClause) 270 OPENMP_CLAUSE(dist_schedule, OMPDistScheduleClause) 271 OPENMP_CLAUSE(defaultmap, OMPDefaultmapClause) 272 OPENMP_CLAUSE(to, OMPToClause) 273 OPENMP_CLAUSE(from, OMPFromClause) 274 OPENMP_CLAUSE(use_device_ptr, OMPUseDevicePtrClause) 275 OPENMP_CLAUSE(is_device_ptr, OMPIsDevicePtrClause) 276 OPENMP_CLAUSE(task_reduction, OMPTaskReductionClause) 277 OPENMP_CLAUSE(in_reduction, OMPInReductionClause) 278 279 // Clauses allowed for OpenMP directive 'parallel'. 280 OPENMP_PARALLEL_CLAUSE(if) 281 OPENMP_PARALLEL_CLAUSE(num_threads) 282 OPENMP_PARALLEL_CLAUSE(default) 283 OPENMP_PARALLEL_CLAUSE(proc_bind) 284 OPENMP_PARALLEL_CLAUSE(private) 285 OPENMP_PARALLEL_CLAUSE(firstprivate) 286 OPENMP_PARALLEL_CLAUSE(shared) 287 OPENMP_PARALLEL_CLAUSE(reduction) 288 OPENMP_PARALLEL_CLAUSE(copyin) 289 290 // Clauses allowed for directive 'omp simd'. 291 OPENMP_SIMD_CLAUSE(private) 292 OPENMP_SIMD_CLAUSE(lastprivate) 293 OPENMP_SIMD_CLAUSE(linear) 294 OPENMP_SIMD_CLAUSE(aligned) 295 OPENMP_SIMD_CLAUSE(safelen) 296 OPENMP_SIMD_CLAUSE(simdlen) 297 OPENMP_SIMD_CLAUSE(collapse) 298 OPENMP_SIMD_CLAUSE(reduction) 299 300 // Clauses allowed for directive 'omp for'. 301 OPENMP_FOR_CLAUSE(private) 302 OPENMP_FOR_CLAUSE(lastprivate) 303 OPENMP_FOR_CLAUSE(firstprivate) 304 OPENMP_FOR_CLAUSE(reduction) 305 OPENMP_FOR_CLAUSE(collapse) 306 OPENMP_FOR_CLAUSE(schedule) 307 OPENMP_FOR_CLAUSE(ordered) 308 OPENMP_FOR_CLAUSE(nowait) 309 OPENMP_FOR_CLAUSE(linear) 310 311 // Clauses allowed for directive 'omp for simd'. 312 OPENMP_FOR_SIMD_CLAUSE(private) 313 OPENMP_FOR_SIMD_CLAUSE(firstprivate) 314 OPENMP_FOR_SIMD_CLAUSE(lastprivate) 315 OPENMP_FOR_SIMD_CLAUSE(reduction) 316 OPENMP_FOR_SIMD_CLAUSE(schedule) 317 OPENMP_FOR_SIMD_CLAUSE(collapse) 318 OPENMP_FOR_SIMD_CLAUSE(nowait) 319 OPENMP_FOR_SIMD_CLAUSE(safelen) 320 OPENMP_FOR_SIMD_CLAUSE(simdlen) 321 OPENMP_FOR_SIMD_CLAUSE(linear) 322 OPENMP_FOR_SIMD_CLAUSE(aligned) 323 OPENMP_FOR_SIMD_CLAUSE(ordered) 324 325 // Clauses allowed for OpenMP directive 'omp sections'. 326 OPENMP_SECTIONS_CLAUSE(private) 327 OPENMP_SECTIONS_CLAUSE(lastprivate) 328 OPENMP_SECTIONS_CLAUSE(firstprivate) 329 OPENMP_SECTIONS_CLAUSE(reduction) 330 OPENMP_SECTIONS_CLAUSE(nowait) 331 332 // Clauses allowed for directive 'omp single'. 333 OPENMP_SINGLE_CLAUSE(private) 334 OPENMP_SINGLE_CLAUSE(firstprivate) 335 OPENMP_SINGLE_CLAUSE(copyprivate) 336 OPENMP_SINGLE_CLAUSE(nowait) 337 338 // Clauses allowed for OpenMP directive 'cancel'. 339 OPENMP_CANCEL_CLAUSE(if) 340 341 // Static attributes for 'default' clause. 342 OPENMP_DEFAULT_KIND(none) 343 OPENMP_DEFAULT_KIND(shared) 344 345 // Static attributes for 'proc_bind' clause. 346 OPENMP_PROC_BIND_KIND(master) 347 OPENMP_PROC_BIND_KIND(close) 348 OPENMP_PROC_BIND_KIND(spread) 349 350 // Static attributes for 'schedule' clause. 351 OPENMP_SCHEDULE_KIND(static) 352 OPENMP_SCHEDULE_KIND(dynamic) 353 OPENMP_SCHEDULE_KIND(guided) 354 OPENMP_SCHEDULE_KIND(auto) 355 OPENMP_SCHEDULE_KIND(runtime) 356 357 // Modifiers for 'schedule' clause. 358 OPENMP_SCHEDULE_MODIFIER(monotonic) 359 OPENMP_SCHEDULE_MODIFIER(nonmonotonic) 360 OPENMP_SCHEDULE_MODIFIER(simd) 361 362 // Static attributes for 'defaultmap' clause. 363 OPENMP_DEFAULTMAP_KIND(scalar) 364 365 // Modifiers for 'defaultmap' clause. 366 OPENMP_DEFAULTMAP_MODIFIER(tofrom) 367 368 // Static attributes for 'depend' clause. 369 OPENMP_DEPEND_KIND(in) 370 OPENMP_DEPEND_KIND(out) 371 OPENMP_DEPEND_KIND(inout) 372 OPENMP_DEPEND_KIND(source) 373 OPENMP_DEPEND_KIND(sink) 374 375 // Modifiers for 'linear' clause. 376 OPENMP_LINEAR_KIND(val) 377 OPENMP_LINEAR_KIND(ref) 378 OPENMP_LINEAR_KIND(uval) 379 380 // Clauses allowed for OpenMP directive 'parallel for'. 381 OPENMP_PARALLEL_FOR_CLAUSE(if) 382 OPENMP_PARALLEL_FOR_CLAUSE(num_threads) 383 OPENMP_PARALLEL_FOR_CLAUSE(default) 384 OPENMP_PARALLEL_FOR_CLAUSE(proc_bind) 385 OPENMP_PARALLEL_FOR_CLAUSE(private) 386 OPENMP_PARALLEL_FOR_CLAUSE(firstprivate) 387 OPENMP_PARALLEL_FOR_CLAUSE(shared) 388 OPENMP_PARALLEL_FOR_CLAUSE(reduction) 389 OPENMP_PARALLEL_FOR_CLAUSE(copyin) 390 OPENMP_PARALLEL_FOR_CLAUSE(lastprivate) 391 OPENMP_PARALLEL_FOR_CLAUSE(collapse) 392 OPENMP_PARALLEL_FOR_CLAUSE(schedule) 393 OPENMP_PARALLEL_FOR_CLAUSE(ordered) 394 OPENMP_PARALLEL_FOR_CLAUSE(linear) 395 396 // Clauses allowed for OpenMP directive 'parallel for simd'. 397 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(if) 398 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(num_threads) 399 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(default) 400 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(proc_bind) 401 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(private) 402 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(firstprivate) 403 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(shared) 404 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(reduction) 405 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(copyin) 406 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(lastprivate) 407 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(collapse) 408 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(schedule) 409 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(safelen) 410 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(simdlen) 411 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(linear) 412 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(aligned) 413 OPENMP_PARALLEL_FOR_SIMD_CLAUSE(ordered) 414 415 // Clauses allowed for OpenMP directive 'parallel sections'. 416 OPENMP_PARALLEL_SECTIONS_CLAUSE(if) 417 OPENMP_PARALLEL_SECTIONS_CLAUSE(num_threads) 418 OPENMP_PARALLEL_SECTIONS_CLAUSE(default) 419 OPENMP_PARALLEL_SECTIONS_CLAUSE(proc_bind) 420 OPENMP_PARALLEL_SECTIONS_CLAUSE(private) 421 OPENMP_PARALLEL_SECTIONS_CLAUSE(firstprivate) 422 OPENMP_PARALLEL_SECTIONS_CLAUSE(shared) 423 OPENMP_PARALLEL_SECTIONS_CLAUSE(reduction) 424 OPENMP_PARALLEL_SECTIONS_CLAUSE(copyin) 425 OPENMP_PARALLEL_SECTIONS_CLAUSE(lastprivate) 426 427 // Clauses allowed for OpenMP directive 'task'. 428 OPENMP_TASK_CLAUSE(if) 429 OPENMP_TASK_CLAUSE(final) 430 OPENMP_TASK_CLAUSE(default) 431 OPENMP_TASK_CLAUSE(private) 432 OPENMP_TASK_CLAUSE(firstprivate) 433 OPENMP_TASK_CLAUSE(shared) 434 OPENMP_TASK_CLAUSE(untied) 435 OPENMP_TASK_CLAUSE(mergeable) 436 OPENMP_TASK_CLAUSE(depend) 437 OPENMP_TASK_CLAUSE(priority) 438 OPENMP_TASK_CLAUSE(in_reduction) 439 440 // Clauses allowed for OpenMP directive 'atomic'. 441 OPENMP_ATOMIC_CLAUSE(read) 442 OPENMP_ATOMIC_CLAUSE(write) 443 OPENMP_ATOMIC_CLAUSE(update) 444 OPENMP_ATOMIC_CLAUSE(capture) 445 OPENMP_ATOMIC_CLAUSE(seq_cst) 446 447 // Clauses allowed for OpenMP directive 'target'. 448 OPENMP_TARGET_CLAUSE(if) 449 OPENMP_TARGET_CLAUSE(device) 450 OPENMP_TARGET_CLAUSE(map) 451 OPENMP_TARGET_CLAUSE(private) 452 OPENMP_TARGET_CLAUSE(nowait) 453 OPENMP_TARGET_CLAUSE(depend) 454 OPENMP_TARGET_CLAUSE(defaultmap) 455 OPENMP_TARGET_CLAUSE(firstprivate) 456 OPENMP_TARGET_CLAUSE(is_device_ptr) 457 458 // Clauses allowed for OpenMP directive 'target data'. 459 OPENMP_TARGET_DATA_CLAUSE(if) 460 OPENMP_TARGET_DATA_CLAUSE(device) 461 OPENMP_TARGET_DATA_CLAUSE(map) 462 OPENMP_TARGET_DATA_CLAUSE(use_device_ptr) 463 464 // Clauses allowed for OpenMP directive 'target enter data'. 465 OPENMP_TARGET_ENTER_DATA_CLAUSE(if) 466 OPENMP_TARGET_ENTER_DATA_CLAUSE(device) 467 OPENMP_TARGET_ENTER_DATA_CLAUSE(map) 468 OPENMP_TARGET_ENTER_DATA_CLAUSE(nowait) 469 OPENMP_TARGET_ENTER_DATA_CLAUSE(depend) 470 471 // Clauses allowed for OpenMP directive 'target exit data'. 472 OPENMP_TARGET_EXIT_DATA_CLAUSE(if) 473 OPENMP_TARGET_EXIT_DATA_CLAUSE(device) 474 OPENMP_TARGET_EXIT_DATA_CLAUSE(map) 475 OPENMP_TARGET_EXIT_DATA_CLAUSE(nowait) 476 OPENMP_TARGET_EXIT_DATA_CLAUSE(depend) 477 478 // Clauses allowed for OpenMP directive 'target parallel'. 479 OPENMP_TARGET_PARALLEL_CLAUSE(if) 480 OPENMP_TARGET_PARALLEL_CLAUSE(device) 481 OPENMP_TARGET_PARALLEL_CLAUSE(map) 482 OPENMP_TARGET_PARALLEL_CLAUSE(private) 483 OPENMP_TARGET_PARALLEL_CLAUSE(firstprivate) 484 OPENMP_TARGET_PARALLEL_CLAUSE(nowait) 485 OPENMP_TARGET_PARALLEL_CLAUSE(depend) 486 OPENMP_TARGET_PARALLEL_CLAUSE(defaultmap) 487 OPENMP_TARGET_PARALLEL_CLAUSE(num_threads) 488 OPENMP_TARGET_PARALLEL_CLAUSE(default) 489 OPENMP_TARGET_PARALLEL_CLAUSE(proc_bind) 490 OPENMP_TARGET_PARALLEL_CLAUSE(shared) 491 OPENMP_TARGET_PARALLEL_CLAUSE(reduction) 492 OPENMP_TARGET_PARALLEL_CLAUSE(is_device_ptr) 493 494 // Clauses allowed for OpenMP directive 'target parallel for'. 495 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(if) 496 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(device) 497 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(map) 498 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(private) 499 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(firstprivate) 500 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(lastprivate) 501 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(nowait) 502 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(depend) 503 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(defaultmap) 504 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(num_threads) 505 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(default) 506 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(proc_bind) 507 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(shared) 508 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(reduction) 509 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(collapse) 510 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(schedule) 511 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(ordered) 512 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(linear) 513 OPENMP_TARGET_PARALLEL_FOR_CLAUSE(is_device_ptr) 514 515 // Clauses allowed for OpenMP directive 'target update'. 516 OPENMP_TARGET_UPDATE_CLAUSE(if) 517 OPENMP_TARGET_UPDATE_CLAUSE(device) 518 OPENMP_TARGET_UPDATE_CLAUSE(to) 519 OPENMP_TARGET_UPDATE_CLAUSE(from) 520 OPENMP_TARGET_UPDATE_CLAUSE(nowait) 521 OPENMP_TARGET_UPDATE_CLAUSE(depend) 522 523 // Clauses allowed for OpenMP directive 'teams'. 524 OPENMP_TEAMS_CLAUSE(default) 525 OPENMP_TEAMS_CLAUSE(private) 526 OPENMP_TEAMS_CLAUSE(firstprivate) 527 OPENMP_TEAMS_CLAUSE(shared) 528 OPENMP_TEAMS_CLAUSE(reduction) 529 OPENMP_TEAMS_CLAUSE(num_teams) 530 OPENMP_TEAMS_CLAUSE(thread_limit) 531 532 // Clauses allowed for OpenMP directive 'ordered'. 533 OPENMP_ORDERED_CLAUSE(threads) 534 OPENMP_ORDERED_CLAUSE(simd) 535 OPENMP_ORDERED_CLAUSE(depend) 536 537 // Map types and map type modifier for 'map' clause. 538 OPENMP_MAP_KIND(alloc) 539 OPENMP_MAP_KIND(to) 540 OPENMP_MAP_KIND(from) 541 OPENMP_MAP_KIND(tofrom) 542 OPENMP_MAP_KIND(delete) 543 OPENMP_MAP_KIND(release) 544 OPENMP_MAP_KIND(always) 545 546 // Clauses allowed for OpenMP directive 'taskloop'. 547 OPENMP_TASKLOOP_CLAUSE(if) 548 OPENMP_TASKLOOP_CLAUSE(shared) 549 OPENMP_TASKLOOP_CLAUSE(private) 550 OPENMP_TASKLOOP_CLAUSE(firstprivate) 551 OPENMP_TASKLOOP_CLAUSE(lastprivate) 552 OPENMP_TASKLOOP_CLAUSE(default) 553 OPENMP_TASKLOOP_CLAUSE(collapse) 554 OPENMP_TASKLOOP_CLAUSE(final) 555 OPENMP_TASKLOOP_CLAUSE(untied) 556 OPENMP_TASKLOOP_CLAUSE(mergeable) 557 OPENMP_TASKLOOP_CLAUSE(priority) 558 OPENMP_TASKLOOP_CLAUSE(grainsize) 559 OPENMP_TASKLOOP_CLAUSE(nogroup) 560 OPENMP_TASKLOOP_CLAUSE(num_tasks) 561 OPENMP_TASKLOOP_CLAUSE(reduction) 562 OPENMP_TASKLOOP_CLAUSE(in_reduction) 563 564 // Clauses allowed for OpenMP directive 'taskloop simd'. 565 OPENMP_TASKLOOP_SIMD_CLAUSE(if) 566 OPENMP_TASKLOOP_SIMD_CLAUSE(shared) 567 OPENMP_TASKLOOP_SIMD_CLAUSE(private) 568 OPENMP_TASKLOOP_SIMD_CLAUSE(firstprivate) 569 OPENMP_TASKLOOP_SIMD_CLAUSE(lastprivate) 570 OPENMP_TASKLOOP_SIMD_CLAUSE(default) 571 OPENMP_TASKLOOP_SIMD_CLAUSE(collapse) 572 OPENMP_TASKLOOP_SIMD_CLAUSE(final) 573 OPENMP_TASKLOOP_SIMD_CLAUSE(untied) 574 OPENMP_TASKLOOP_SIMD_CLAUSE(mergeable) 575 OPENMP_TASKLOOP_SIMD_CLAUSE(priority) 576 OPENMP_TASKLOOP_SIMD_CLAUSE(linear) 577 OPENMP_TASKLOOP_SIMD_CLAUSE(aligned) 578 OPENMP_TASKLOOP_SIMD_CLAUSE(safelen) 579 OPENMP_TASKLOOP_SIMD_CLAUSE(simdlen) 580 OPENMP_TASKLOOP_SIMD_CLAUSE(grainsize) 581 OPENMP_TASKLOOP_SIMD_CLAUSE(nogroup) 582 OPENMP_TASKLOOP_SIMD_CLAUSE(num_tasks) 583 OPENMP_TASKLOOP_SIMD_CLAUSE(reduction) 584 OPENMP_TASKLOOP_SIMD_CLAUSE(in_reduction) 585 586 // Clauses allowed for OpenMP directive 'critical'. 587 OPENMP_CRITICAL_CLAUSE(hint) 588 589 // Clauses allowed for OpenMP directive 'distribute' 590 OPENMP_DISTRIBUTE_CLAUSE(private) 591 OPENMP_DISTRIBUTE_CLAUSE(firstprivate) 592 OPENMP_DISTRIBUTE_CLAUSE(lastprivate) 593 OPENMP_DISTRIBUTE_CLAUSE(collapse) 594 OPENMP_DISTRIBUTE_CLAUSE(dist_schedule) 595 596 // Static attributes for 'dist_schedule' clause. 597 OPENMP_DIST_SCHEDULE_KIND(static) 598 599 // Clauses allowed for OpenMP directive 'distribute parallel for' 600 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(firstprivate) 601 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(lastprivate) 602 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(collapse) 603 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(dist_schedule) 604 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(if) 605 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_threads) 606 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(default) 607 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(proc_bind) 608 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(private) 609 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(shared) 610 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(reduction) 611 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(copyin) 612 OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE(schedule) 613 614 // Clauses allowed for OpenMP directive 'distribute parallel for simd' 615 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(firstprivate) 616 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(lastprivate) 617 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(collapse) 618 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(dist_schedule) 619 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(if) 620 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_threads) 621 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(default) 622 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(proc_bind) 623 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(private) 624 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(shared) 625 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(reduction) 626 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(copyin) 627 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(schedule) 628 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(linear) 629 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(aligned) 630 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(safelen) 631 OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(simdlen) 632 633 // Clauses allowed for OpenMP directive 'distribute simd' 634 OPENMP_DISTRIBUTE_SIMD_CLAUSE(private) 635 OPENMP_DISTRIBUTE_SIMD_CLAUSE(firstprivate) 636 OPENMP_DISTRIBUTE_SIMD_CLAUSE(lastprivate) 637 OPENMP_DISTRIBUTE_SIMD_CLAUSE(collapse) 638 OPENMP_DISTRIBUTE_SIMD_CLAUSE(dist_schedule) 639 OPENMP_DISTRIBUTE_SIMD_CLAUSE(linear) 640 OPENMP_DISTRIBUTE_SIMD_CLAUSE(aligned) 641 OPENMP_DISTRIBUTE_SIMD_CLAUSE(safelen) 642 OPENMP_DISTRIBUTE_SIMD_CLAUSE(simdlen) 643 OPENMP_DISTRIBUTE_SIMD_CLAUSE(reduction) 644 645 // Clauses allowed for OpenMP directive 'target parallel for simd'. 646 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(if) 647 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(device) 648 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(map) 649 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(private) 650 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(firstprivate) 651 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(lastprivate) 652 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(nowait) 653 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(depend) 654 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(defaultmap) 655 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(num_threads) 656 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(default) 657 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(proc_bind) 658 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(shared) 659 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(reduction) 660 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(collapse) 661 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(schedule) 662 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(ordered) 663 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(linear) 664 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(safelen) 665 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(simdlen) 666 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(aligned) 667 OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE(is_device_ptr) 668 669 // Clauses allowed for OpenMP directive 'target simd'. 670 OPENMP_TARGET_SIMD_CLAUSE(if) 671 OPENMP_TARGET_SIMD_CLAUSE(device) 672 OPENMP_TARGET_SIMD_CLAUSE(map) 673 OPENMP_TARGET_SIMD_CLAUSE(private) 674 OPENMP_TARGET_SIMD_CLAUSE(nowait) 675 OPENMP_TARGET_SIMD_CLAUSE(depend) 676 OPENMP_TARGET_SIMD_CLAUSE(defaultmap) 677 OPENMP_TARGET_SIMD_CLAUSE(firstprivate) 678 OPENMP_TARGET_SIMD_CLAUSE(is_device_ptr) 679 OPENMP_TARGET_SIMD_CLAUSE(lastprivate) 680 OPENMP_TARGET_SIMD_CLAUSE(linear) 681 OPENMP_TARGET_SIMD_CLAUSE(aligned) 682 OPENMP_TARGET_SIMD_CLAUSE(safelen) 683 OPENMP_TARGET_SIMD_CLAUSE(simdlen) 684 OPENMP_TARGET_SIMD_CLAUSE(collapse) 685 OPENMP_TARGET_SIMD_CLAUSE(reduction) 686 687 // Clauses allowed for OpenMP directive 'teams distribute'. 688 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(default) 689 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(private) 690 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(firstprivate) 691 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(shared) 692 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(reduction) 693 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(num_teams) 694 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(thread_limit) 695 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(lastprivate) 696 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(collapse) 697 OPENMP_TEAMS_DISTRIBUTE_CLAUSE(dist_schedule) 698 699 // Clauses allowed for OpenMP directive 'teams distribute simd' 700 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(default) 701 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(private) 702 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(firstprivate) 703 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(shared) 704 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(reduction) 705 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(num_teams) 706 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(thread_limit) 707 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(lastprivate) 708 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(collapse) 709 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(dist_schedule) 710 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(linear) 711 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(aligned) 712 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(safelen) 713 OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(simdlen) 714 715 // Clauses allowed for OpenMP directive 'teams distribute parallel for simd' 716 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(firstprivate) 717 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(lastprivate) 718 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(collapse) 719 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(dist_schedule) 720 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(if) 721 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_threads) 722 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(default) 723 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(proc_bind) 724 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(private) 725 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(shared) 726 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(reduction) 727 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(schedule) 728 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(linear) 729 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(aligned) 730 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(safelen) 731 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(simdlen) 732 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_teams) 733 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(thread_limit) 734 735 // Clauses allowed for OpenMP directive 'teams distribute parallel for' 736 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(firstprivate) 737 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(lastprivate) 738 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(collapse) 739 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(dist_schedule) 740 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(if) 741 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_threads) 742 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(default) 743 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(proc_bind) 744 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(private) 745 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(shared) 746 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(reduction) 747 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(schedule) 748 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(linear) 749 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_teams) 750 OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(thread_limit) 751 752 // Clauses allowed for OpenMP directive 'target teams'. 753 OPENMP_TARGET_TEAMS_CLAUSE(if) 754 OPENMP_TARGET_TEAMS_CLAUSE(device) 755 OPENMP_TARGET_TEAMS_CLAUSE(map) 756 OPENMP_TARGET_TEAMS_CLAUSE(private) 757 OPENMP_TARGET_TEAMS_CLAUSE(nowait) 758 OPENMP_TARGET_TEAMS_CLAUSE(depend) 759 OPENMP_TARGET_TEAMS_CLAUSE(defaultmap) 760 OPENMP_TARGET_TEAMS_CLAUSE(firstprivate) 761 OPENMP_TARGET_TEAMS_CLAUSE(is_device_ptr) 762 OPENMP_TARGET_TEAMS_CLAUSE(default) 763 OPENMP_TARGET_TEAMS_CLAUSE(shared) 764 OPENMP_TARGET_TEAMS_CLAUSE(reduction) 765 OPENMP_TARGET_TEAMS_CLAUSE(num_teams) 766 OPENMP_TARGET_TEAMS_CLAUSE(thread_limit) 767 768 // Clauses allowed for OpenMP directive 'target teams distribute'. 769 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(if) 770 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(device) 771 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(map) 772 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(private) 773 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(nowait) 774 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(depend) 775 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(defaultmap) 776 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(firstprivate) 777 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(is_device_ptr) 778 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(default) 779 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(shared) 780 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(reduction) 781 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(num_teams) 782 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(thread_limit) 783 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(lastprivate) 784 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(collapse) 785 OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE(dist_schedule) 786 787 // Clauses allowed for OpenMP directive 'target teams distribute parallel for'. 788 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(if) 789 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(device) 790 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(map) 791 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(private) 792 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(nowait) 793 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(depend) 794 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(defaultmap) 795 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(firstprivate) 796 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(is_device_ptr) 797 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(default) 798 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(shared) 799 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(reduction) 800 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_teams) 801 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(thread_limit) 802 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(lastprivate) 803 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(collapse) 804 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(dist_schedule) 805 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(num_threads) 806 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(proc_bind) 807 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(schedule) 808 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE(linear) 809 810 // Clauses allowed for OpenMP directive 811 // 'target teams distribute parallel for simd'. 812 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(if) 813 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(device) 814 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(map) 815 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(private) 816 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(nowait) 817 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(depend) 818 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(defaultmap) 819 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(firstprivate) 820 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(is_device_ptr) 821 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(default) 822 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(shared) 823 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(reduction) 824 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_teams) 825 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(thread_limit) 826 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(lastprivate) 827 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(collapse) 828 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(dist_schedule) 829 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(num_threads) 830 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(proc_bind) 831 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(schedule) 832 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(linear) 833 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(aligned) 834 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(safelen) 835 OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE(simdlen) 836 837 // Clauses allowed for OpenMP directive 'target teams distribute simd'. 838 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(if) 839 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(device) 840 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(map) 841 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(private) 842 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(nowait) 843 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(depend) 844 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(defaultmap) 845 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(firstprivate) 846 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(lastprivate) 847 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(is_device_ptr) 848 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(shared) 849 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(reduction) 850 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(num_teams) 851 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(thread_limit) 852 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(collapse) 853 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(dist_schedule) 854 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(linear) 855 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(aligned) 856 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(safelen) 857 OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE(simdlen) 858 859 // Clauses allowed for OpenMP directive 'taskgroup'. 860 OPENMP_TASKGROUP_CLAUSE(task_reduction) 861 862 #undef OPENMP_TASKGROUP_CLAUSE 863 #undef OPENMP_TASKLOOP_SIMD_CLAUSE 864 #undef OPENMP_TASKLOOP_CLAUSE 865 #undef OPENMP_LINEAR_KIND 866 #undef OPENMP_DEPEND_KIND 867 #undef OPENMP_SCHEDULE_MODIFIER 868 #undef OPENMP_SCHEDULE_KIND 869 #undef OPENMP_PROC_BIND_KIND 870 #undef OPENMP_DEFAULT_KIND 871 #undef OPENMP_DIRECTIVE 872 #undef OPENMP_DIRECTIVE_EXT 873 #undef OPENMP_CLAUSE 874 #undef OPENMP_CRITICAL_CLAUSE 875 #undef OPENMP_ORDERED_CLAUSE 876 #undef OPENMP_CANCEL_CLAUSE 877 #undef OPENMP_SINGLE_CLAUSE 878 #undef OPENMP_SECTIONS_CLAUSE 879 #undef OPENMP_PARALLEL_CLAUSE 880 #undef OPENMP_PARALLEL_FOR_CLAUSE 881 #undef OPENMP_PARALLEL_FOR_SIMD_CLAUSE 882 #undef OPENMP_PARALLEL_SECTIONS_CLAUSE 883 #undef OPENMP_TASK_CLAUSE 884 #undef OPENMP_ATOMIC_CLAUSE 885 #undef OPENMP_TARGET_CLAUSE 886 #undef OPENMP_TARGET_DATA_CLAUSE 887 #undef OPENMP_TARGET_ENTER_DATA_CLAUSE 888 #undef OPENMP_TARGET_EXIT_DATA_CLAUSE 889 #undef OPENMP_TARGET_PARALLEL_CLAUSE 890 #undef OPENMP_TARGET_PARALLEL_FOR_CLAUSE 891 #undef OPENMP_TEAMS_CLAUSE 892 #undef OPENMP_SIMD_CLAUSE 893 #undef OPENMP_FOR_CLAUSE 894 #undef OPENMP_FOR_SIMD_CLAUSE 895 #undef OPENMP_MAP_KIND 896 #undef OPENMP_DISTRIBUTE_CLAUSE 897 #undef OPENMP_DIST_SCHEDULE_KIND 898 #undef OPENMP_DEFAULTMAP_KIND 899 #undef OPENMP_DEFAULTMAP_MODIFIER 900 #undef OPENMP_TARGET_UPDATE_CLAUSE 901 #undef OPENMP_DISTRIBUTE_PARALLEL_FOR_CLAUSE 902 #undef OPENMP_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE 903 #undef OPENMP_DISTRIBUTE_SIMD_CLAUSE 904 #undef OPENMP_TARGET_PARALLEL_FOR_SIMD_CLAUSE 905 #undef OPENMP_TARGET_SIMD_CLAUSE 906 #undef OPENMP_TEAMS_DISTRIBUTE_CLAUSE 907 #undef OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE 908 #undef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE 909 #undef OPENMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE 910 #undef OPENMP_TARGET_TEAMS_CLAUSE 911 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_CLAUSE 912 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_CLAUSE 913 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_CLAUSE 914 #undef OPENMP_TARGET_TEAMS_DISTRIBUTE_SIMD_CLAUSE 915