From 894947e18e682f802276ea4041d932577eada01a Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Fri, 7 Mar 2014 00:10:58 +0000 Subject: [PATCH] Partial revert of r203179. The build bots are telling me that some out-of-tree builds are using redecls_begin()/redecls_end(), so adding some machinery back in to support them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203182 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/Decl.h | 15 +++++++++++++++ include/clang/AST/DeclBase.h | 3 +++ include/clang/AST/DeclCXX.h | 3 +++ include/clang/AST/DeclObjC.h | 6 ++++++ include/clang/AST/DeclTemplate.h | 3 +++ include/clang/AST/Redeclarable.h | 3 +++ 6 files changed, 33 insertions(+) diff --git a/include/clang/AST/Decl.h b/include/clang/AST/Decl.h index f73c3275a6..c2ebcaf4ac 100644 --- a/include/clang/AST/Decl.h +++ b/include/clang/AST/Decl.h @@ -372,6 +372,9 @@ public: static NamespaceDecl *CreateDeserialized(ASTContext &C, unsigned ID); typedef redeclarable_base::redecl_range redecl_range; + typedef redeclarable_base::redecl_iterator redecl_iterator; + using redeclarable_base::redecls_begin; + using redeclarable_base::redecls_end; using redeclarable_base::redecls; using redeclarable_base::getPreviousDecl; using redeclarable_base::getMostRecentDecl; @@ -779,6 +782,9 @@ protected: public: typedef redeclarable_base::redecl_range redecl_range; + typedef redeclarable_base::redecl_iterator redecl_iterator; + using redeclarable_base::redecls_begin; + using redeclarable_base::redecls_end; using redeclarable_base::redecls; using redeclarable_base::getPreviousDecl; using redeclarable_base::getMostRecentDecl; @@ -1568,6 +1574,9 @@ protected: public: typedef redeclarable_base::redecl_range redecl_range; + typedef redeclarable_base::redecl_iterator redecl_iterator; + using redeclarable_base::redecls_begin; + using redeclarable_base::redecls_end; using redeclarable_base::redecls; using redeclarable_base::getPreviousDecl; using redeclarable_base::getMostRecentDecl; @@ -2406,6 +2415,9 @@ protected: public: typedef redeclarable_base::redecl_range redecl_range; + typedef redeclarable_base::redecl_iterator redecl_iterator; + using redeclarable_base::redecls_begin; + using redeclarable_base::redecls_end; using redeclarable_base::redecls; using redeclarable_base::getPreviousDecl; using redeclarable_base::getMostRecentDecl; @@ -2590,6 +2602,9 @@ protected: public: typedef redeclarable_base::redecl_range redecl_range; + typedef redeclarable_base::redecl_iterator redecl_iterator; + using redeclarable_base::redecls_begin; + using redeclarable_base::redecls_end; using redeclarable_base::redecls; using redeclarable_base::getPreviousDecl; using redeclarable_base::getMostRecentDecl; diff --git a/include/clang/AST/DeclBase.h b/include/clang/AST/DeclBase.h index 9e45740cd3..d281f19df8 100644 --- a/include/clang/AST/DeclBase.h +++ b/include/clang/AST/DeclBase.h @@ -780,6 +780,9 @@ public: redecl_iterator()); } + redecl_iterator redecls_begin() const { return redecls().begin(); } + redecl_iterator redecls_end() const { return redecls().end(); } + /// \brief Retrieve the previous declaration that declares the same entity /// as this declaration, or NULL if there is no previous declaration. Decl *getPreviousDecl() { return getPreviousDeclImpl(); } diff --git a/include/clang/AST/DeclCXX.h b/include/clang/AST/DeclCXX.h index a729b59bbd..1f7c2bbfe1 100644 --- a/include/clang/AST/DeclCXX.h +++ b/include/clang/AST/DeclCXX.h @@ -2729,6 +2729,9 @@ public: static UsingShadowDecl *CreateDeserialized(ASTContext &C, unsigned ID); typedef redeclarable_base::redecl_range redecl_range; + typedef redeclarable_base::redecl_iterator redecl_iterator; + using redeclarable_base::redecls_begin; + using redeclarable_base::redecls_end; using redeclarable_base::redecls; using redeclarable_base::getPreviousDecl; using redeclarable_base::getMostRecentDecl; diff --git a/include/clang/AST/DeclObjC.h b/include/clang/AST/DeclObjC.h index fc41639c94..05e309eff2 100644 --- a/include/clang/AST/DeclObjC.h +++ b/include/clang/AST/DeclObjC.h @@ -1262,6 +1262,9 @@ public: bool RHSIsQualifiedID = false); typedef redeclarable_base::redecl_range redecl_range; + typedef redeclarable_base::redecl_iterator redecl_iterator; + using redeclarable_base::redecls_begin; + using redeclarable_base::redecls_end; using redeclarable_base::redecls; using redeclarable_base::getPreviousDecl; using redeclarable_base::getMostRecentDecl; @@ -1568,6 +1571,9 @@ public: } typedef redeclarable_base::redecl_range redecl_range; + typedef redeclarable_base::redecl_iterator redecl_iterator; + using redeclarable_base::redecls_begin; + using redeclarable_base::redecls_end; using redeclarable_base::redecls; using redeclarable_base::getPreviousDecl; using redeclarable_base::getMostRecentDecl; diff --git a/include/clang/AST/DeclTemplate.h b/include/clang/AST/DeclTemplate.h index 1823b847b9..5f22262980 100644 --- a/include/clang/AST/DeclTemplate.h +++ b/include/clang/AST/DeclTemplate.h @@ -711,6 +711,9 @@ public: } typedef redeclarable_base::redecl_range redecl_range; + typedef redeclarable_base::redecl_iterator redecl_iterator; + using redeclarable_base::redecls_begin; + using redeclarable_base::redecls_end; using redeclarable_base::redecls; using redeclarable_base::getPreviousDecl; using redeclarable_base::getMostRecentDecl; diff --git a/include/clang/AST/Redeclarable.h b/include/clang/AST/Redeclarable.h index 76b6906214..1170eda819 100644 --- a/include/clang/AST/Redeclarable.h +++ b/include/clang/AST/Redeclarable.h @@ -171,6 +171,9 @@ public: redecl_iterator()); } + redecl_iterator redecls_begin() const { return redecls().begin(); } + redecl_iterator redecls_end() const { return redecls().end(); } + friend class ASTDeclReader; friend class ASTDeclWriter; }; -- 2.40.0