1 //===--- OpenMPKinds.def - OpenMP directives and clauses list ---*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 /// \brief This file defines the list of supported OpenMP directives and
13 //===----------------------------------------------------------------------===//
15 #ifndef OPENMP_DIRECTIVE
16 # define OPENMP_DIRECTIVE(Name)
19 # define OPENMP_CLAUSE(Name, Class)
21 #ifndef OPENMP_PARALLEL_CLAUSE
22 # define OPENMP_PARALLEL_CLAUSE(Name)
24 #ifndef OPENMP_DEFAULT_KIND
25 # define OPENMP_DEFAULT_KIND(Name)
29 OPENMP_DIRECTIVE(threadprivate)
30 OPENMP_DIRECTIVE(parallel)
31 OPENMP_DIRECTIVE(task)
34 OPENMP_CLAUSE(default, OMPDefaultClause)
35 OPENMP_CLAUSE(private, OMPPrivateClause)
36 OPENMP_CLAUSE(firstprivate, OMPFirstprivateClause)
37 OPENMP_CLAUSE(shared, OMPSharedClause)
39 // Clauses allowed for OpenMP directives.
40 OPENMP_PARALLEL_CLAUSE(default)
41 OPENMP_PARALLEL_CLAUSE(private)
42 OPENMP_PARALLEL_CLAUSE(firstprivate)
43 OPENMP_PARALLEL_CLAUSE(shared)
45 // Static attributes for 'default' clause.
46 OPENMP_DEFAULT_KIND(none)
47 OPENMP_DEFAULT_KIND(shared)
49 #undef OPENMP_DEFAULT_KIND
50 #undef OPENMP_DIRECTIVE
52 #undef OPENMP_PARALLEL_CLAUSE