Revert Decl's iterators back to pointer value_type rather than reference value_type
In addition, I've made the pointer and reference typedef 'void' rather than T*
just so they can't get misused. I would've omitted them entirely but
std::distance likes them to be there even if it doesn't use them.
This rolls back r155808 and r155869.
Review by Doug Gregor incorporating feedback from Chandler Carruth.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158104 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/VTableBuilder.cpp b/lib/AST/VTableBuilder.cpp
index 44f457c..107d9fb 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())