[clang] d14a569 - MSVC build fix: forget some unneeded and incorrect friends.

John McCall via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 13 22:02:23 PST 2019


Author: John McCall
Date: 2019-12-14T01:02:09-05:00
New Revision: d14a5693c07f0fb1b82c75ed72f77a495751dcf7

URL: https://github.com/llvm/llvm-project/commit/d14a5693c07f0fb1b82c75ed72f77a495751dcf7
DIFF: https://github.com/llvm/llvm-project/commit/d14a5693c07f0fb1b82c75ed72f77a495751dcf7.diff

LOG: MSVC build fix: forget some unneeded and incorrect friends.

On MSVC, friend declarations are (incorrectly) visible even if
not otherwise declared, which causes them to interfere with
lookup.  ASTTypeWriter is actually in an anonymous namespace
and cannot be ASTWriter's friend.  The others simply don't need
to be anymore.

Added: 
    

Modified: 
    clang/include/clang/Serialization/ASTReader.h
    clang/include/clang/Serialization/ASTWriter.h

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/Serialization/ASTReader.h b/clang/include/clang/Serialization/ASTReader.h
index 37c6467b97e2..3f321f03d966 100644
--- a/clang/include/clang/Serialization/ASTReader.h
+++ b/clang/include/clang/Serialization/ASTReader.h
@@ -365,7 +365,6 @@ class ASTReader
   friend class ASTDeclReader;
   friend class ASTIdentifierIterator;
   friend class ASTRecordReader;
-  friend class ASTStmtReader;
   friend class ASTUnit; // ASTUnit needs to remap source locations.
   friend class ASTWriter;
   friend class PCHValidator;

diff  --git a/clang/include/clang/Serialization/ASTWriter.h b/clang/include/clang/Serialization/ASTWriter.h
index d465939f1c2f..3f0e1e48af93 100644
--- a/clang/include/clang/Serialization/ASTWriter.h
+++ b/clang/include/clang/Serialization/ASTWriter.h
@@ -106,8 +106,6 @@ class ASTWriter : public ASTDeserializationListener,
 public:
   friend class ASTDeclWriter;
   friend class ASTRecordWriter;
-  friend class ASTStmtWriter;
-  friend class ASTTypeWriter;
 
   using RecordData = SmallVector<uint64_t, 64>;
   using RecordDataImpl = SmallVectorImpl<uint64_t>;


        


More information about the cfe-commits mailing list