From b66406e0eda0c1371df94a1079a80904ae5e3a72 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Wed, 23 Apr 2014 05:16:53 +0000 Subject: [PATCH] MS ABI: Use range-based for loops in the mangler No functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206945 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AST/MicrosoftMangle.cpp | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/lib/AST/MicrosoftMangle.cpp b/lib/AST/MicrosoftMangle.cpp index cfbe62cde9..1c713d0514 100644 --- a/lib/AST/MicrosoftMangle.cpp +++ b/lib/AST/MicrosoftMangle.cpp @@ -1164,9 +1164,8 @@ void MicrosoftCXXNameMangler::mangleTemplateArg(const TemplateDecl *TD, break; case TemplateArgument::Pack: // Unlike Itanium, there is no character code to indicate an argument pack. - for (TemplateArgument::pack_iterator I = TA.pack_begin(), E = TA.pack_end(); - I != E; ++I) - mangleTemplateArg(TD, *I); + for (const TemplateArgument &PA : TA.getPackAsArray()) + mangleTemplateArg(TD, PA); break; case TemplateArgument::Template: mangleType(cast( @@ -1561,7 +1560,7 @@ void MicrosoftCXXNameMangler::mangleFunctionType(const FunctionType *T, Out << 'X'; } else { // Happens for function pointer type arguments for example. - for (const auto &Arg : Proto->param_types()) + for (const QualType Arg : Proto->param_types()) mangleArgumentType(Arg, Range); // ::= Z # ellipsis if (Proto->isVariadic()) @@ -1776,8 +1775,8 @@ void MicrosoftCXXNameMangler::mangleArrayType(const ArrayType *T) { Out << 'Y'; // ::= # number of extra dimensions mangleNumber(Dimensions.size()); - for (unsigned Dim = 0; Dim < Dimensions.size(); ++Dim) - mangleNumber(Dimensions[Dim].getLimitedValue()); + for (const llvm::APInt &Dimension : Dimensions) + mangleNumber(Dimension.getLimitedValue()); mangleType(ElementTy, SourceRange(), QMM_Escape); } @@ -2188,11 +2187,8 @@ void MicrosoftMangleContextImpl::mangleCXXVFTable( Mangler.getStream() << "\01??_7"; Mangler.mangleName(Derived); Mangler.getStream() << "6B"; // '6' for vftable, 'B' for const. - for (ArrayRef::iterator I = BasePath.begin(), - E = BasePath.end(); - I != E; ++I) { - Mangler.mangleName(*I); - } + for (const CXXRecordDecl *RD : BasePath) + Mangler.mangleName(RD); Mangler.getStream() << '@'; } @@ -2207,11 +2203,8 @@ void MicrosoftMangleContextImpl::mangleCXXVBTable( Mangler.getStream() << "\01??_8"; Mangler.mangleName(Derived); Mangler.getStream() << "7B"; // '7' for vbtable, 'B' for const. - for (ArrayRef::iterator I = BasePath.begin(), - E = BasePath.end(); - I != E; ++I) { - Mangler.mangleName(*I); - } + for (const CXXRecordDecl *RD : BasePath) + Mangler.mangleName(RD); Mangler.getStream() << '@'; } -- 2.40.0