| //===--- OpenMPKinds.def - OpenMP directives and clauses list ---*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| /// \file |
| /// \brief This file defines the list of supported OpenMP directives and |
| /// clauses. |
| /// |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef OPENMP_DIRECTIVE |
| # define OPENMP_DIRECTIVE(Name) |
| #endif |
| #ifndef OPENMP_CLAUSE |
| # define OPENMP_CLAUSE(Name, Class) |
| #endif |
| #ifndef OPENMP_PARALLEL_CLAUSE |
| # define OPENMP_PARALLEL_CLAUSE(Name) |
| #endif |
| #ifndef OPENMP_SIMD_CLAUSE |
| # define OPENMP_SIMD_CLAUSE(Name) |
| #endif |
| #ifndef OPENMP_DEFAULT_KIND |
| # define OPENMP_DEFAULT_KIND(Name) |
| #endif |
| |
| // OpenMP directives. |
| OPENMP_DIRECTIVE(threadprivate) |
| OPENMP_DIRECTIVE(parallel) |
| OPENMP_DIRECTIVE(task) |
| OPENMP_DIRECTIVE(simd) |
| |
| // OpenMP clauses. |
| OPENMP_CLAUSE(if, OMPIfClause) |
| OPENMP_CLAUSE(num_threads, OMPNumThreadsClause) |
| OPENMP_CLAUSE(safelen, OMPSafelenClause) |
| OPENMP_CLAUSE(default, OMPDefaultClause) |
| OPENMP_CLAUSE(private, OMPPrivateClause) |
| OPENMP_CLAUSE(firstprivate, OMPFirstprivateClause) |
| OPENMP_CLAUSE(shared, OMPSharedClause) |
| OPENMP_CLAUSE(linear, OMPLinearClause) |
| OPENMP_CLAUSE(copyin, OMPCopyinClause) |
| |
| // Clauses allowed for OpenMP directive 'parallel'. |
| OPENMP_PARALLEL_CLAUSE(if) |
| OPENMP_PARALLEL_CLAUSE(num_threads) |
| OPENMP_PARALLEL_CLAUSE(default) |
| OPENMP_PARALLEL_CLAUSE(private) |
| OPENMP_PARALLEL_CLAUSE(firstprivate) |
| OPENMP_PARALLEL_CLAUSE(shared) |
| OPENMP_PARALLEL_CLAUSE(copyin) |
| |
| // FIXME: more clauses allowed for directive 'omp simd'. |
| OPENMP_SIMD_CLAUSE(private) |
| OPENMP_SIMD_CLAUSE(linear) |
| OPENMP_SIMD_CLAUSE(safelen) |
| |
| // Static attributes for 'default' clause. |
| OPENMP_DEFAULT_KIND(none) |
| OPENMP_DEFAULT_KIND(shared) |
| |
| #undef OPENMP_DEFAULT_KIND |
| #undef OPENMP_DIRECTIVE |
| #undef OPENMP_CLAUSE |
| #undef OPENMP_PARALLEL_CLAUSE |
| #undef OPENMP_SIMD_CLAUSE |
| |