summaryrefslogtreecommitdiffstats
path: root/include/clang/AST/DeclOpenMP.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/AST/DeclOpenMP.h')
-rw-r--r--include/clang/AST/DeclOpenMP.h91
1 files changed, 0 insertions, 91 deletions
diff --git a/include/clang/AST/DeclOpenMP.h b/include/clang/AST/DeclOpenMP.h
deleted file mode 100644
index 598f418..0000000
--- a/include/clang/AST/DeclOpenMP.h
+++ /dev/null
@@ -1,91 +0,0 @@
-//===- DeclOpenMP.h - Classes for representing OpenMP directives -*- 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 OpenMP nodes for declarative directives.
-///
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_AST_DECLOPENMP_H
-#define LLVM_CLANG_AST_DECLOPENMP_H
-
-#include "clang/AST/DeclBase.h"
-#include "llvm/ADT/ArrayRef.h"
-
-namespace clang {
-class Expr;
-
-/// \brief This represents '#pragma omp threadprivate ...' directive.
-/// For example, in the following, both 'a' and 'A::b' are threadprivate:
-///
-/// \code
-/// int a;
-/// #pragma omp threadprivate(a)
-/// struct A {
-/// static int b;
-/// #pragma omp threadprivate(b)
-/// };
-/// \endcode
-///
-class OMPThreadPrivateDecl final
- : public Decl,
- private llvm::TrailingObjects<OMPThreadPrivateDecl, Expr *> {
- friend class ASTDeclReader;
- friend TrailingObjects;
-
- unsigned NumVars;
-
- virtual void anchor();
-
- OMPThreadPrivateDecl(Kind DK, DeclContext *DC, SourceLocation L) :
- Decl(DK, DC, L), NumVars(0) { }
-
- ArrayRef<const Expr *> getVars() const {
- return llvm::makeArrayRef(getTrailingObjects<Expr *>(), NumVars);
- }
-
- MutableArrayRef<Expr *> getVars() {
- return MutableArrayRef<Expr *>(getTrailingObjects<Expr *>(), NumVars);
- }
-
- void setVars(ArrayRef<Expr *> VL);
-
-public:
- static OMPThreadPrivateDecl *Create(ASTContext &C, DeclContext *DC,
- SourceLocation L,
- ArrayRef<Expr *> VL);
- static OMPThreadPrivateDecl *CreateDeserialized(ASTContext &C,
- unsigned ID, unsigned N);
-
- typedef MutableArrayRef<Expr *>::iterator varlist_iterator;
- typedef ArrayRef<const Expr *>::iterator varlist_const_iterator;
- typedef llvm::iterator_range<varlist_iterator> varlist_range;
- typedef llvm::iterator_range<varlist_const_iterator> varlist_const_range;
-
- unsigned varlist_size() const { return NumVars; }
- bool varlist_empty() const { return NumVars == 0; }
-
- varlist_range varlists() {
- return varlist_range(varlist_begin(), varlist_end());
- }
- varlist_const_range varlists() const {
- return varlist_const_range(varlist_begin(), varlist_end());
- }
- varlist_iterator varlist_begin() { return getVars().begin(); }
- varlist_iterator varlist_end() { return getVars().end(); }
- varlist_const_iterator varlist_begin() const { return getVars().begin(); }
- varlist_const_iterator varlist_end() const { return getVars().end(); }
-
- static bool classof(const Decl *D) { return classofKind(D->getKind()); }
- static bool classofKind(Kind K) { return K == OMPThreadPrivate; }
-};
-
-} // end namespace clang
-
-#endif
OpenPOWER on IntegriCloud