Don't use ASTContext in DeclOpenMP.h because it's still incomplete.
authorEric Fiselier <eric@efcs.ca>
Fri, 1 Feb 2019 21:19:20 +0000 (21:19 +0000)
committerEric Fiselier <eric@efcs.ca>
Fri, 1 Feb 2019 21:19:20 +0000 (21:19 +0000)
llvm-svn: 352919

clang/include/clang/AST/DeclOpenMP.h
clang/lib/AST/DeclOpenMP.cpp

index 5faf6c8..12332a2 100644 (file)
@@ -289,14 +289,8 @@ public:
 
   /// Get reference to previous declare mapper construct in the same
   /// scope with the same name.
-  OMPDeclareMapperDecl *getPrevDeclInScope() {
-    return cast_or_null<OMPDeclareMapperDecl>(
-        PrevDeclInScope.get(getASTContext().getExternalSource()));
-  }
-  const OMPDeclareMapperDecl *getPrevDeclInScope() const {
-    return cast_or_null<OMPDeclareMapperDecl>(
-        PrevDeclInScope.get(getASTContext().getExternalSource()));
-  }
+  OMPDeclareMapperDecl *getPrevDeclInScope();
+  const OMPDeclareMapperDecl *getPrevDeclInScope() const;
 
   static bool classof(const Decl *D) { return classofKind(D->getKind()); }
   static bool classofKind(Kind K) { return K == OMPDeclareMapper; }
index 5a1b036..39cb467 100644 (file)
@@ -172,6 +172,16 @@ void OMPDeclareMapperDecl::setClauses(ArrayRef<OMPClause *> CL) {
   std::uninitialized_copy(CL.begin(), CL.end(), Clauses.data());
 }
 
+OMPDeclareMapperDecl *OMPDeclareMapperDecl::getPrevDeclInScope() {
+  return cast_or_null<OMPDeclareMapperDecl>(
+      PrevDeclInScope.get(getASTContext().getExternalSource()));
+}
+
+const OMPDeclareMapperDecl *OMPDeclareMapperDecl::getPrevDeclInScope() const {
+  return cast_or_null<OMPDeclareMapperDecl>(
+      PrevDeclInScope.get(getASTContext().getExternalSource()));
+}
+
 //===----------------------------------------------------------------------===//
 // OMPCapturedExprDecl Implementation.
 //===----------------------------------------------------------------------===//