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