Remove the ref/value inconsistency in filter_decl_iterator.
filter_decl_iterator had a weird mismatch where both op* and op-> returned T*
making it difficult to generalize this filtering behavior into a reusable
library of any kind.
This change errs on the side of value, making op-> return T* and op* return
T&.
(reviewed by Richard Smith)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155808 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/VTableBuilder.cpp b/lib/AST/VTableBuilder.cpp
index 107d9fb..44f457c 100644
--- a/lib/AST/VTableBuilder.cpp
+++ b/lib/AST/VTableBuilder.cpp
@@ -409,7 +409,7 @@
// Now dump the overriders for this base subobject.
for (CXXRecordDecl::method_iterator I = RD->method_begin(),
E = RD->method_end(); I != E; ++I) {
- const CXXMethodDecl *MD = *I;
+ const CXXMethodDecl *MD = &*I;
if (!MD->isVirtual())
continue;
@@ -692,7 +692,7 @@
// Add the vcall offsets.
for (CXXRecordDecl::method_iterator I = RD->method_begin(),
E = RD->method_end(); I != E; ++I) {
- const CXXMethodDecl *MD = *I;
+ const CXXMethodDecl *MD = &*I;
if (!MD->isVirtual())
continue;
@@ -1469,7 +1469,7 @@
// Now go through all virtual member functions and add them.
for (CXXRecordDecl::method_iterator I = RD->method_begin(),
E = RD->method_end(); I != E; ++I) {
- const CXXMethodDecl *MD = *I;
+ const CXXMethodDecl *MD = &*I;
if (!MD->isVirtual())
continue;
@@ -2105,7 +2105,7 @@
for (CXXRecordDecl::method_iterator i = MostDerivedClass->method_begin(),
e = MostDerivedClass->method_end(); i != e; ++i) {
- const CXXMethodDecl *MD = *i;
+ const CXXMethodDecl *MD = &*i;
// We only want virtual member functions.
if (!MD->isVirtual())
@@ -2217,7 +2217,7 @@
for (CXXRecordDecl::method_iterator i = RD->method_begin(),
e = RD->method_end(); i != e; ++i) {
- const CXXMethodDecl *MD = *i;
+ const CXXMethodDecl *MD = &*i;
// We only want virtual methods.
if (!MD->isVirtual())