diff options
Diffstat (limited to 'lib/AST')
-rw-r--r-- | lib/AST/ASTContext.cpp | 10 | ||||
-rw-r--r-- | lib/AST/ASTImporter.cpp | 2 | ||||
-rw-r--r-- | lib/AST/Decl.cpp | 4 | ||||
-rw-r--r-- | lib/AST/DeclBase.cpp | 11 | ||||
-rw-r--r-- | lib/AST/DeclCXX.cpp | 8 | ||||
-rw-r--r-- | lib/AST/DeclObjC.cpp | 22 | ||||
-rw-r--r-- | lib/AST/DeclPrinter.cpp | 2 | ||||
-rw-r--r-- | lib/AST/ExprConstant.cpp | 8 | ||||
-rw-r--r-- | lib/AST/ItaniumMangle.cpp | 9 | ||||
-rw-r--r-- | lib/AST/RecordLayoutBuilder.cpp | 36 | ||||
-rw-r--r-- | lib/AST/VTableBuilder.cpp | 10 |
11 files changed, 51 insertions, 71 deletions
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 27057883e5..164813b7c3 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -1192,7 +1192,7 @@ void ASTContext::DeepCollectObjCIvars(const ObjCInterfaceDecl *OI, if (!leafClass) { for (ObjCInterfaceDecl::ivar_iterator I = OI->ivar_begin(), E = OI->ivar_end(); I != E; ++I) - Ivars.push_back(&*I); + Ivars.push_back(*I); } else { ObjCInterfaceDecl *IDecl = const_cast<ObjCInterfaceDecl *>(OI); for (const ObjCIvarDecl *Iv = IDecl->all_declared_ivar_begin(); Iv; @@ -4232,7 +4232,7 @@ void ASTContext::getObjCEncodingForPropertyDecl(const ObjCPropertyDecl *PD, for (ObjCCategoryImplDecl::propimpl_iterator i = CID->propimpl_begin(), e = CID->propimpl_end(); i != e; ++i) { - ObjCPropertyImplDecl *PID = &*i; + ObjCPropertyImplDecl *PID = *i; if (PID->getPropertyDecl() == PD) { if (PID->getPropertyImplementation()==ObjCPropertyImplDecl::Dynamic) { Dynamic = true; @@ -4246,7 +4246,7 @@ void ASTContext::getObjCEncodingForPropertyDecl(const ObjCPropertyDecl *PD, for (ObjCCategoryImplDecl::propimpl_iterator i = OID->propimpl_begin(), e = OID->propimpl_end(); i != e; ++i) { - ObjCPropertyImplDecl *PID = &*i; + ObjCPropertyImplDecl *PID = *i; if (PID->getPropertyDecl() == PD) { if (PID->getPropertyImplementation()==ObjCPropertyImplDecl::Dynamic) { Dynamic = true; @@ -4568,7 +4568,7 @@ void ASTContext::getObjCEncodingForTypeImpl(QualType T, std::string& S, // Special case bit-fields. if (Field->isBitField()) { getObjCEncodingForTypeImpl(Field->getType(), S, false, true, - &*Field); + *Field); } else { QualType qt = Field->getType(); getLegacyIntegralTypeEncoding(qt); @@ -4764,7 +4764,7 @@ void ASTContext::getObjCEncodingForStructureImpl(RecordDecl *RDecl, Field != FieldEnd; ++Field, ++i) { uint64_t offs = layout.getFieldOffset(i); FieldOrBaseOffsets.insert(FieldOrBaseOffsets.upper_bound(offs), - std::make_pair(offs, &*Field)); + std::make_pair(offs, *Field)); } if (CXXRec && includeVBases) { diff --git a/lib/AST/ASTImporter.cpp b/lib/AST/ASTImporter.cpp index 3825dbb63a..417f3cff58 100644 --- a/lib/AST/ASTImporter.cpp +++ b/lib/AST/ASTImporter.cpp @@ -1017,7 +1017,7 @@ static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, return false; } - if (!IsStructurallyEquivalent(Context, &*Field1, &*Field2)) + if (!IsStructurallyEquivalent(Context, *Field1, *Field2)) return false; } diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index 0ca36cbb14..1d5ff10f7b 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -2499,11 +2499,11 @@ unsigned FieldDecl::getFieldIndex() const { if (IsMsStruct) { // Zero-length bitfields following non-bitfield members are ignored. - if (getASTContext().ZeroBitfieldFollowsNonBitfield(&*I, LastFD)) { + if (getASTContext().ZeroBitfieldFollowsNonBitfield(*I, LastFD)) { --Index; continue; } - LastFD = &*I; + LastFD = *I; } } diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp index a0191f95d0..de97173089 100644 --- a/lib/AST/DeclBase.cpp +++ b/lib/AST/DeclBase.cpp @@ -974,10 +974,6 @@ DeclContext::decl_iterator DeclContext::noload_decls_begin() const { return decl_iterator(FirstDecl); } -DeclContext::decl_iterator DeclContext::noload_decls_end() const { - return decl_iterator(); -} - DeclContext::decl_iterator DeclContext::decls_begin() const { if (hasExternalLexicalStorage()) LoadLexicalDeclsFromExternalStorage(); @@ -985,13 +981,6 @@ DeclContext::decl_iterator DeclContext::decls_begin() const { return decl_iterator(FirstDecl); } -DeclContext::decl_iterator DeclContext::decls_end() const { - if (hasExternalLexicalStorage()) - LoadLexicalDeclsFromExternalStorage(); - - return decl_iterator(); -} - bool DeclContext::decls_empty() const { if (hasExternalLexicalStorage()) LoadLexicalDeclsFromExternalStorage(); diff --git a/lib/AST/DeclCXX.cpp b/lib/AST/DeclCXX.cpp index 571ad4b39c..1c0316db71 100644 --- a/lib/AST/DeclCXX.cpp +++ b/lib/AST/DeclCXX.cpp @@ -401,7 +401,7 @@ CXXConstructorDecl *CXXRecordDecl::getCopyConstructor(unsigned TypeQuals) const{ CXXConstructorDecl *CXXRecordDecl::getMoveConstructor() const { for (ctor_iterator I = ctor_begin(), E = ctor_end(); I != E; ++I) if (I->isMoveConstructor()) - return &*I; + return *I; return 0; } @@ -459,7 +459,7 @@ CXXMethodDecl *CXXRecordDecl::getCopyAssignmentOperator(bool ArgIsConst) const { CXXMethodDecl *CXXRecordDecl::getMoveAssignmentOperator() const { for (method_iterator I = method_begin(), E = method_end(); I != E; ++I) if (I->isMoveAssignmentOperator()) - return &*I; + return *I; return 0; } @@ -999,11 +999,11 @@ void CXXRecordDecl::getCaptureFields( for (LambdaExpr::Capture *C = Lambda.Captures, *CEnd = C + Lambda.NumCaptures; C != CEnd; ++C, ++Field) { if (C->capturesThis()) { - ThisCapture = &*Field; + ThisCapture = *Field; continue; } - Captures[C->getCapturedVar()] = &*Field; + Captures[C->getCapturedVar()] = *Field; } } diff --git a/lib/AST/DeclObjC.cpp b/lib/AST/DeclObjC.cpp index faa4f5c2de..f07b9e04fe 100644 --- a/lib/AST/DeclObjC.cpp +++ b/lib/AST/DeclObjC.cpp @@ -767,9 +767,9 @@ ObjCIvarDecl *ObjCInterfaceDecl::all_declared_ivar_begin() { ObjCIvarDecl *curIvar = 0; if (!ivar_empty()) { ObjCInterfaceDecl::ivar_iterator I = ivar_begin(), E = ivar_end(); - data().IvarList = &*I; ++I; - for (curIvar = data().IvarList; I != E; curIvar = &*I, ++I) - curIvar->setNextIvar(&*I); + data().IvarList = *I; ++I; + for (curIvar = data().IvarList; I != E; curIvar = *I, ++I) + curIvar->setNextIvar(*I); } for (const ObjCCategoryDecl *CDecl = getFirstClassExtension(); CDecl; @@ -778,11 +778,11 @@ ObjCIvarDecl *ObjCInterfaceDecl::all_declared_ivar_begin() { ObjCCategoryDecl::ivar_iterator I = CDecl->ivar_begin(), E = CDecl->ivar_end(); if (!data().IvarList) { - data().IvarList = &*I; ++I; + data().IvarList = *I; ++I; curIvar = data().IvarList; } - for ( ;I != E; curIvar = &*I, ++I) - curIvar->setNextIvar(&*I); + for ( ;I != E; curIvar = *I, ++I) + curIvar->setNextIvar(*I); } } @@ -791,11 +791,11 @@ ObjCIvarDecl *ObjCInterfaceDecl::all_declared_ivar_begin() { ObjCImplementationDecl::ivar_iterator I = ImplDecl->ivar_begin(), E = ImplDecl->ivar_end(); if (!data().IvarList) { - data().IvarList = &*I; ++I; + data().IvarList = *I; ++I; curIvar = data().IvarList; } - for ( ;I != E; curIvar = &*I, ++I) - curIvar->setNextIvar(&*I); + for ( ;I != E; curIvar = *I, ++I) + curIvar->setNextIvar(*I); } } return data().IvarList; @@ -1175,7 +1175,7 @@ void ObjCImplDecl::setClassInterface(ObjCInterfaceDecl *IFace) { ObjCPropertyImplDecl *ObjCImplDecl:: FindPropertyImplIvarDecl(IdentifierInfo *ivarId) const { for (propimpl_iterator i = propimpl_begin(), e = propimpl_end(); i != e; ++i){ - ObjCPropertyImplDecl *PID = &*i; + ObjCPropertyImplDecl *PID = *i; if (PID->getPropertyIvarDecl() && PID->getPropertyIvarDecl()->getIdentifier() == ivarId) return PID; @@ -1190,7 +1190,7 @@ FindPropertyImplIvarDecl(IdentifierInfo *ivarId) const { ObjCPropertyImplDecl *ObjCImplDecl:: FindPropertyImplDecl(IdentifierInfo *Id) const { for (propimpl_iterator i = propimpl_begin(), e = propimpl_end(); i != e; ++i){ - ObjCPropertyImplDecl *PID = &*i; + ObjCPropertyImplDecl *PID = *i; if (PID->getPropertyDecl()->getIdentifier() == Id) return PID; } diff --git a/lib/AST/DeclPrinter.cpp b/lib/AST/DeclPrinter.cpp index d65825e395..6d4eaa3517 100644 --- a/lib/AST/DeclPrinter.cpp +++ b/lib/AST/DeclPrinter.cpp @@ -913,7 +913,7 @@ void DeclPrinter::VisitObjCInterfaceDecl(ObjCInterfaceDecl *OID) { Indentation += Policy.Indentation; for (ObjCInterfaceDecl::ivar_iterator I = OID->ivar_begin(), E = OID->ivar_end(); I != E; ++I) { - Indent() << I->getType().getAsString(Policy) << ' ' << *I << ";\n"; + Indent() << I->getType().getAsString(Policy) << ' ' << **I << ";\n"; } Indentation -= Policy.Indentation; Out << "}\n"; diff --git a/lib/AST/ExprConstant.cpp b/lib/AST/ExprConstant.cpp index d3ab84fc4a..e9cce9f23a 100644 --- a/lib/AST/ExprConstant.cpp +++ b/lib/AST/ExprConstant.cpp @@ -3418,7 +3418,7 @@ static bool HandleClassZeroInitialization(EvalInfo &Info, const Expr *E, continue; LValue Subobject = This; - if (!HandleLValueMember(Info, E, Subobject, &*I, &Layout)) + if (!HandleLValueMember(Info, E, Subobject, *I, &Layout)) return false; ImplicitValueInitExpr VIE(I->getType()); @@ -3443,9 +3443,9 @@ bool RecordExprEvaluator::ZeroInitialization(const Expr *E) { } LValue Subobject = This; - if (!HandleLValueMember(Info, E, Subobject, &*I)) + if (!HandleLValueMember(Info, E, Subobject, *I)) return false; - Result = APValue(&*I); + Result = APValue(*I); ImplicitValueInitExpr VIE(I->getType()); return EvaluateInPlace(Result.getUnionValue(), Info, Subobject, &VIE); } @@ -3536,7 +3536,7 @@ bool RecordExprEvaluator::VisitInitListExpr(const InitListExpr *E) { // FIXME: Diagnostics here should point to the end of the initializer // list, not the start. if (!HandleLValueMember(Info, HaveInit ? E->getInit(ElementNo) : E, - Subobject, &*Field, &Layout)) + Subobject, *Field, &Layout)) return false; // Perform an implicit value-initialization for members beyond the end of diff --git a/lib/AST/ItaniumMangle.cpp b/lib/AST/ItaniumMangle.cpp index 0c9028e48f..e974ade6f6 100644 --- a/lib/AST/ItaniumMangle.cpp +++ b/lib/AST/ItaniumMangle.cpp @@ -1032,17 +1032,14 @@ static const FieldDecl *FindFirstNamedDataMember(const RecordDecl *RD) { for (RecordDecl::field_iterator I = RD->field_begin(), E = RD->field_end(); I != E; ++I) { - const FieldDecl *FD = &*I; + if (I->getIdentifier()) + return *I; - if (FD->getIdentifier()) - return FD; - - if (const RecordType *RT = FD->getType()->getAs<RecordType>()) { + if (const RecordType *RT = I->getType()->getAs<RecordType>()) if (const FieldDecl *NamedDataMember = FindFirstNamedDataMember(RT->getDecl())) return NamedDataMember; } - } // We didn't find a named data member. return 0; diff --git a/lib/AST/RecordLayoutBuilder.cpp b/lib/AST/RecordLayoutBuilder.cpp index 312d646c7a..ace57be2ce 100644 --- a/lib/AST/RecordLayoutBuilder.cpp +++ b/lib/AST/RecordLayoutBuilder.cpp @@ -161,10 +161,9 @@ void EmptySubobjectMap::ComputeEmptySubobjectSizes() { // Check the fields. for (CXXRecordDecl::field_iterator I = Class->field_begin(), E = Class->field_end(); I != E; ++I) { - const FieldDecl &FD = *I; const RecordType *RT = - Context.getBaseElementType(FD.getType())->getAs<RecordType>(); + Context.getBaseElementType(I->getType())->getAs<RecordType>(); // We only care about record types. if (!RT) @@ -261,12 +260,11 @@ EmptySubobjectMap::CanPlaceBaseSubobjectAtOffset(const BaseSubobjectInfo *Info, unsigned FieldNo = 0; for (CXXRecordDecl::field_iterator I = Info->Class->field_begin(), E = Info->Class->field_end(); I != E; ++I, ++FieldNo) { - const FieldDecl *FD = &*I; - if (FD->isBitField()) + if (I->isBitField()) continue; CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); - if (!CanPlaceFieldSubobjectAtOffset(FD, FieldOffset)) + if (!CanPlaceFieldSubobjectAtOffset(*I, FieldOffset)) return false; } @@ -310,12 +308,11 @@ void EmptySubobjectMap::UpdateEmptyBaseSubobjects(const BaseSubobjectInfo *Info, unsigned FieldNo = 0; for (CXXRecordDecl::field_iterator I = Info->Class->field_begin(), E = Info->Class->field_end(); I != E; ++I, ++FieldNo) { - const FieldDecl *FD = &*I; - if (FD->isBitField()) + if (I->isBitField()) continue; CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); - UpdateEmptyFieldSubobjects(FD, FieldOffset); + UpdateEmptyFieldSubobjects(*I, FieldOffset); } } @@ -380,13 +377,12 @@ EmptySubobjectMap::CanPlaceFieldSubobjectAtOffset(const CXXRecordDecl *RD, unsigned FieldNo = 0; for (CXXRecordDecl::field_iterator I = RD->field_begin(), E = RD->field_end(); I != E; ++I, ++FieldNo) { - const FieldDecl *FD = &*I; - if (FD->isBitField()) + if (I->isBitField()) continue; CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); - if (!CanPlaceFieldSubobjectAtOffset(FD, FieldOffset)) + if (!CanPlaceFieldSubobjectAtOffset(*I, FieldOffset)) return false; } @@ -491,13 +487,12 @@ void EmptySubobjectMap::UpdateEmptyFieldSubobjects(const CXXRecordDecl *RD, unsigned FieldNo = 0; for (CXXRecordDecl::field_iterator I = RD->field_begin(), E = RD->field_end(); I != E; ++I, ++FieldNo) { - const FieldDecl *FD = &*I; - if (FD->isBitField()) + if (I->isBitField()) continue; CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); - UpdateEmptyFieldSubobjects(FD, FieldOffset); + UpdateEmptyFieldSubobjects(*I, FieldOffset); } } @@ -1730,7 +1725,7 @@ void RecordLayoutBuilder::LayoutFields(const RecordDecl *D) { for (RecordDecl::field_iterator Field = D->field_begin(), FieldEnd = D->field_end(); Field != FieldEnd; ++Field) { if (IsMsStruct) { - FieldDecl *FD = &*Field; + FieldDecl *FD = *Field; if (Context.ZeroBitfieldFollowsBitfield(FD, LastFD)) ZeroLengthBitfield = FD; // Zero-length bitfields following non-bitfield members are @@ -1825,11 +1820,10 @@ void RecordLayoutBuilder::LayoutFields(const RecordDecl *D) { } else if (!Context.getTargetInfo().useBitFieldTypeAlignment() && Context.getTargetInfo().useZeroLengthBitfieldAlignment()) { - FieldDecl *FD = &*Field; - if (FD->isBitField() && FD->getBitWidthValue(Context) == 0) - ZeroLengthBitfield = FD; + if (Field->isBitField() && Field->getBitWidthValue(Context) == 0) + ZeroLengthBitfield = *Field; } - LayoutField(&*Field); + LayoutField(*Field); } if (IsMsStruct && RemainingInAlignment && LastFD && LastFD->isBitField() && LastFD->getBitWidthValue(Context)) { @@ -2337,7 +2331,7 @@ RecordLayoutBuilder::ComputeKeyFunction(const CXXRecordDecl *RD) { 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; @@ -2607,7 +2601,7 @@ static void DumpCXXRecordLayout(raw_ostream &OS, uint64_t FieldNo = 0; for (CXXRecordDecl::field_iterator I = RD->field_begin(), E = RD->field_end(); I != E; ++I, ++FieldNo) { - const FieldDecl &Field = *I; + const FieldDecl &Field = **I; CharUnits FieldOffset = Offset + C.toCharUnitsFromBits(Layout.getFieldOffset(FieldNo)); diff --git a/lib/AST/VTableBuilder.cpp b/lib/AST/VTableBuilder.cpp index 44f457ca79..107d9fb78c 100644 --- a/lib/AST/VTableBuilder.cpp +++ b/lib/AST/VTableBuilder.cpp @@ -409,7 +409,7 @@ void FinalOverriders::dump(raw_ostream &Out, BaseSubobject Base, // 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 @@ void VCallAndVBaseOffsetBuilder::AddVCallOffsets(BaseSubobject Base, // 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 @@ VTableBuilder::AddMethods(BaseSubobject Base, CharUnits BaseOffsetInLayoutClass, // 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 @@ void VTableBuilder::dumpLayout(raw_ostream& Out) { 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 @@ void VTableContext::ComputeMethodVTableIndices(const CXXRecordDecl *RD) { 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()) |