diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-07-14 23:12:54 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-07-14 23:12:54 +0000 |
commit | 48b0863f52616cff30b652da6f25503d82afd89b (patch) | |
tree | 0e7ba677b00e55834e9adeda325a0d22fac53746 /clang/lib | |
parent | 3be31a63197abda8ee93e572e9b1bce10382e5b2 (diff) | |
download | bcm5719-llvm-48b0863f52616cff30b652da6f25503d82afd89b.tar.gz bcm5719-llvm-48b0863f52616cff30b652da6f25503d82afd89b.zip |
AST: Cleanup __uuidof related code
Switch some things to use range-based for loops.
Change CXXUuidofExpr::GetUuidAttrOfType's return type to be const.
No functionality changed.
llvm-svn: 213009
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/AST/ExprCXX.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/clang/lib/AST/ExprCXX.cpp b/clang/lib/AST/ExprCXX.cpp index 1c906789ab7..31bf432cf9f 100644 --- a/clang/lib/AST/ExprCXX.cpp +++ b/clang/lib/AST/ExprCXX.cpp @@ -55,8 +55,8 @@ QualType CXXUuidofExpr::getTypeOperand(ASTContext &Context) const { } // static -UuidAttr *CXXUuidofExpr::GetUuidAttrOfType(QualType QT, - bool *RDHasMultipleGUIDsPtr) { +const UuidAttr *CXXUuidofExpr::GetUuidAttrOfType(QualType QT, + bool *RDHasMultipleGUIDsPtr) { // Optionally remove one level of pointer, reference or array indirection. const Type *Ty = QT.getTypePtr(); if (QT->isPointerType() || QT->isReferenceType()) @@ -64,7 +64,6 @@ UuidAttr *CXXUuidofExpr::GetUuidAttrOfType(QualType QT, else if (QT->isArrayType()) Ty = Ty->getBaseElementTypeUnsafe(); - // Loop all record redeclaration looking for an uuid attribute. CXXRecordDecl *RD = Ty->getAsCXXRecordDecl(); if (!RD) return nullptr; @@ -73,13 +72,12 @@ UuidAttr *CXXUuidofExpr::GetUuidAttrOfType(QualType QT, if (ClassTemplateSpecializationDecl *CTSD = dyn_cast<ClassTemplateSpecializationDecl>(RD)) { const TemplateArgumentList &TAL = CTSD->getTemplateArgs(); - UuidAttr *UuidForRD = nullptr; + const UuidAttr *UuidForRD = nullptr; - for (unsigned I = 0, N = TAL.size(); I != N; ++I) { - const TemplateArgument &TA = TAL[I]; + for (const TemplateArgument &TA : TAL.asArray()) { bool SeenMultipleGUIDs = false; - UuidAttr *UuidForTA = nullptr; + const UuidAttr *UuidForTA = nullptr; if (TA.getKind() == TemplateArgument::Type) UuidForTA = GetUuidAttrOfType(TA.getAsType(), &SeenMultipleGUIDs); else if (TA.getKind() == TemplateArgument::Declaration) @@ -108,8 +106,9 @@ UuidAttr *CXXUuidofExpr::GetUuidAttrOfType(QualType QT, return UuidForRD; } - for (auto I : RD->redecls()) - if (auto Uuid = I->getAttr<UuidAttr>()) + // Loop over all record redeclarations looking for a uuid attribute. + for (const TagDecl *I : RD->redecls()) + if (const UuidAttr *Uuid = I->getAttr<UuidAttr>()) return Uuid; return nullptr; |