bricci updated this revision to Diff 157505. bricci edited the summary of this revision. bricci added a comment.
Re-added the "friend class ASTWriter" after making hasNeedToReconcileExternalVisibleStorage, hasLazyLocalLexicalLookups and hasLazyExternalLexicalLookups in DeclContext private. This match the original situation where HasNeedToReconcileExternalVisibleStorage, HasLazyLocalLexicalLookups and HasLazyLocalLexicalLookups in DeclContext were private. This now depends on https://reviews.llvm.org/D49729 Repository: rC Clang https://reviews.llvm.org/D49790 Files: include/clang/AST/DeclBase.h Index: include/clang/AST/DeclBase.h =================================================================== --- include/clang/AST/DeclBase.h +++ include/clang/AST/DeclBase.h @@ -1250,16 +1250,29 @@ /// 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 @@ "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 @@ DeclContextBits.HasLazyExternalLexicalLookups = HasLELL; } - friend class DependentDiagnostic; - void reconcileExternalVisibleStorage() const; bool LoadLexicalDeclsFromExternalStorage() const;
Index: include/clang/AST/DeclBase.h =================================================================== --- include/clang/AST/DeclBase.h +++ include/clang/AST/DeclBase.h @@ -1250,16 +1250,29 @@ /// 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 @@ "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 @@ DeclContextBits.HasLazyExternalLexicalLookups = HasLELL; } - friend class DependentDiagnostic; - void reconcileExternalVisibleStorage() const; bool LoadLexicalDeclsFromExternalStorage() const;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits