diff --git a/clang/include/clang/AST/DeclBase.h b/clang/include/clang/AST/DeclBase.h index 3816da422203..3f7f756a3426 100644 --- a/clang/include/clang/AST/DeclBase.h +++ b/clang/include/clang/AST/DeclBase.h @@ -1250,16 +1250,29 @@ public: /// that directly derive from DeclContext are mentioned, not their subclasses): /// /// TranslationUnitDecl +/// ExternCContext /// NamespaceDecl -/// FunctionDecl /// TagDecl +/// OMPDeclareReductionDecl +/// FunctionDecl /// ObjCMethodDecl /// ObjCContainerDecl /// LinkageSpecDecl /// ExportDecl /// BlockDecl -/// OMPDeclareReductionDecl +/// CapturedDecl class DeclContext { + /// For makeDeclVisibleInContextImpl + friend class ASTDeclReader; + /// For reconcileExternalVisibleStorage, CreateStoredDeclsMap, + /// hasNeedToReconcileExternalVisibleStorage + friend class ExternalASTSource; + /// For CreateStoredDeclsMap + friend class DependentDiagnostic; + /// For hasNeedToReconcileExternalVisibleStorage, + /// hasLazyLocalLexicalLookups, hasLazyExternalLexicalLookups + friend class ASTWriter; + // We use uint64_t in the bit-fields below since some bit-fields // cross the unsigned boundary and this breaks the packing. @@ -1716,10 +1729,6 @@ protected: "BlockDeclBitfields is larger than 8 bytes!"); }; - friend class ASTDeclReader; - friend class ASTWriter; - friend class ExternalASTSource; - /// FirstDecl - The first declaration stored within this declaration /// context. mutable Decl *FirstDecl = nullptr; @@ -2398,8 +2407,6 @@ private: DeclContextBits.HasLazyExternalLexicalLookups = HasLELL; } - friend class DependentDiagnostic; - void reconcileExternalVisibleStorage() const; bool LoadLexicalDeclsFromExternalStorage() const;