From e8a8baef44c4df704170c74f6117b8541b1ec752 Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Sat, 8 Mar 2014 20:12:42 +0000 Subject: [C++11] Replacing RecordDecl iterators field_begin() and field_end() with iterator_range fields(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203355 --- clang/lib/CodeGen/CGExprAgg.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'clang/lib/CodeGen/CGExprAgg.cpp') diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp index 313b8d2afcb..6c505210b95 100644 --- a/clang/lib/CodeGen/CGExprAgg.cpp +++ b/clang/lib/CodeGen/CGExprAgg.cpp @@ -1141,9 +1141,7 @@ void AggExprEmitter::VisitInitListExpr(InitListExpr *E) { #ifndef NDEBUG // Make sure that it's really an empty and not a failure of // semantic analysis. - for (RecordDecl::field_iterator Field = record->field_begin(), - FieldEnd = record->field_end(); - Field != FieldEnd; ++Field) + for (const auto *Field : record->fields()) assert(Field->isUnnamedBitfield() && "Only unnamed bitfields allowed"); #endif return; @@ -1172,9 +1170,7 @@ void AggExprEmitter::VisitInitListExpr(InitListExpr *E) { // Here we iterate over the fields; this makes it simpler to both // default-initialize fields and skip over unnamed fields. unsigned curInitIndex = 0; - for (RecordDecl::field_iterator field = record->field_begin(), - fieldEnd = record->field_end(); - field != fieldEnd; ++field) { + for (const auto *field : record->fields()) { // We're done once we hit the flexible array member. if (field->getType()->isIncompleteArrayType()) break; @@ -1191,7 +1187,7 @@ void AggExprEmitter::VisitInitListExpr(InitListExpr *E) { break; - LValue LV = CGF.EmitLValueForFieldInitialization(DestLV, *field); + LValue LV = CGF.EmitLValueForFieldInitialization(DestLV, field); // We never generate write-barries for initialized fields. LV.setNonGC(true); @@ -1268,8 +1264,7 @@ static CharUnits GetNumNonZeroBytesInInit(const Expr *E, CodeGenFunction &CGF) { CharUnits NumNonZeroBytes = CharUnits::Zero(); unsigned ILEElement = 0; - for (RecordDecl::field_iterator Field = SD->field_begin(), - FieldEnd = SD->field_end(); Field != FieldEnd; ++Field) { + for (const auto *Field : SD->fields()) { // We're done once we hit the flexible array member or run out of // InitListExpr elements. if (Field->getType()->isIncompleteArrayType() || -- cgit v1.2.3