OpenMPKinds.def revision 263508
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_CLAUSE
19#  define OPENMP_CLAUSE(Name, Class)
20#endif
21#ifndef OPENMP_PARALLEL_CLAUSE
22#  define OPENMP_PARALLEL_CLAUSE(Name)
23#endif
24#ifndef OPENMP_DEFAULT_KIND
25#  define OPENMP_DEFAULT_KIND(Name)
26#endif
27
28// OpenMP directives.
29OPENMP_DIRECTIVE(threadprivate)
30OPENMP_DIRECTIVE(parallel)
31OPENMP_DIRECTIVE(task)
32
33// OpenMP clauses.
34OPENMP_CLAUSE(default, OMPDefaultClause)
35OPENMP_CLAUSE(private, OMPPrivateClause)
36OPENMP_CLAUSE(firstprivate, OMPFirstprivateClause)
37OPENMP_CLAUSE(shared,  OMPSharedClause)
38
39// Clauses allowed for OpenMP directives.
40OPENMP_PARALLEL_CLAUSE(default)
41OPENMP_PARALLEL_CLAUSE(private)
42OPENMP_PARALLEL_CLAUSE(firstprivate)
43OPENMP_PARALLEL_CLAUSE(shared)
44
45// Static attributes for 'default' clause.
46OPENMP_DEFAULT_KIND(none)
47OPENMP_DEFAULT_KIND(shared)
48
49#undef OPENMP_DEFAULT_KIND
50#undef OPENMP_DIRECTIVE
51#undef OPENMP_CLAUSE
52#undef OPENMP_PARALLEL_CLAUSE
53