@@ -972,18 +972,16 @@ void CGRecordLowering::determinePacked(bool NVBaseType) {
972972 CharUnits NVAlignment = CharUnits::One ();
973973 CharUnits NVSize =
974974 !NVBaseType && RD ? Layout.getNonVirtualSize () : CharUnits::Zero ();
975- for (std::vector<MemberInfo>::const_iterator Member = Members.begin (),
976- MemberEnd = Members.end ();
977- Member != MemberEnd; ++Member) {
978- if (!Member->Data )
975+ for (const MemberInfo &Member : Members) {
976+ if (!Member.Data )
979977 continue ;
980978 // If any member falls at an offset that it not a multiple of its alignment,
981979 // then the entire record must be packed.
982- if (Member-> Offset % getAlignment (Member-> Data ))
980+ if (Member. Offset % getAlignment (Member. Data ))
983981 Packed = true ;
984- if (Member-> Offset < NVSize)
985- NVAlignment = std::max (NVAlignment, getAlignment (Member-> Data ));
986- Alignment = std::max (Alignment, getAlignment (Member-> Data ));
982+ if (Member. Offset < NVSize)
983+ NVAlignment = std::max (NVAlignment, getAlignment (Member. Data ));
984+ Alignment = std::max (Alignment, getAlignment (Member. Data ));
987985 }
988986 // If the size of the record (the capstone's offset) is not a multiple of the
989987 // record's alignment, it must be packed.
@@ -1002,45 +1000,39 @@ void CGRecordLowering::determinePacked(bool NVBaseType) {
10021000void CGRecordLowering::insertPadding () {
10031001 std::vector<std::pair<CharUnits, CharUnits> > Padding;
10041002 CharUnits Size = CharUnits::Zero ();
1005- for (std::vector<MemberInfo>::const_iterator Member = Members.begin (),
1006- MemberEnd = Members.end ();
1007- Member != MemberEnd; ++Member) {
1008- if (!Member->Data )
1003+ for (const MemberInfo &Member : Members) {
1004+ if (!Member.Data )
10091005 continue ;
1010- CharUnits Offset = Member-> Offset ;
1006+ CharUnits Offset = Member. Offset ;
10111007 assert (Offset >= Size);
10121008 // Insert padding if we need to.
10131009 if (Offset !=
1014- Size.alignTo (Packed ? CharUnits::One () : getAlignment (Member-> Data )))
1010+ Size.alignTo (Packed ? CharUnits::One () : getAlignment (Member. Data )))
10151011 Padding.push_back (std::make_pair (Size, Offset - Size));
1016- Size = Offset + getSize (Member-> Data );
1012+ Size = Offset + getSize (Member. Data );
10171013 }
10181014 if (Padding.empty ())
10191015 return ;
10201016 // Add the padding to the Members list and sort it.
1021- for (std::vector<std::pair<CharUnits, CharUnits> >::const_iterator
1022- Pad = Padding.begin (), PadEnd = Padding.end ();
1023- Pad != PadEnd; ++Pad)
1024- Members.push_back (StorageInfo (Pad->first , getByteArrayType (Pad->second )));
1017+ for (const auto &Pad : Padding)
1018+ Members.push_back (StorageInfo (Pad.first , getByteArrayType (Pad.second )));
10251019 llvm::stable_sort (Members);
10261020}
10271021
10281022void CGRecordLowering::fillOutputFields () {
1029- for (std::vector<MemberInfo>::const_iterator Member = Members.begin (),
1030- MemberEnd = Members.end ();
1031- Member != MemberEnd; ++Member) {
1032- if (Member->Data )
1033- FieldTypes.push_back (Member->Data );
1034- if (Member->Kind == MemberInfo::Field) {
1035- if (Member->FD )
1036- Fields[Member->FD ->getCanonicalDecl ()] = FieldTypes.size () - 1 ;
1023+ for (const MemberInfo &Member : Members) {
1024+ if (Member.Data )
1025+ FieldTypes.push_back (Member.Data );
1026+ if (Member.Kind == MemberInfo::Field) {
1027+ if (Member.FD )
1028+ Fields[Member.FD ->getCanonicalDecl ()] = FieldTypes.size () - 1 ;
10371029 // A field without storage must be a bitfield.
1038- if (!Member-> Data )
1039- setBitFieldInfo (Member-> FD , Member-> Offset , FieldTypes.back ());
1040- } else if (Member-> Kind == MemberInfo::Base)
1041- NonVirtualBases[Member-> RD ] = FieldTypes.size () - 1 ;
1042- else if (Member-> Kind == MemberInfo::VBase)
1043- VirtualBases[Member-> RD ] = FieldTypes.size () - 1 ;
1030+ if (!Member. Data )
1031+ setBitFieldInfo (Member. FD , Member. Offset , FieldTypes.back ());
1032+ } else if (Member. Kind == MemberInfo::Base)
1033+ NonVirtualBases[Member. RD ] = FieldTypes.size () - 1 ;
1034+ else if (Member. Kind == MemberInfo::VBase)
1035+ VirtualBases[Member. RD ] = FieldTypes.size () - 1 ;
10441036 }
10451037}
10461038
@@ -1224,20 +1216,18 @@ void CGRecordLayout::print(raw_ostream &OS) const {
12241216
12251217 // Print bit-field infos in declaration order.
12261218 std::vector<std::pair<unsigned , const CGBitFieldInfo*> > BFIs;
1227- for (llvm::DenseMap<const FieldDecl*, CGBitFieldInfo>::const_iterator
1228- it = BitFields.begin (), ie = BitFields.end ();
1229- it != ie; ++it) {
1230- const RecordDecl *RD = it->first ->getParent ();
1219+ for (const auto &BitField : BitFields) {
1220+ const RecordDecl *RD = BitField.first ->getParent ();
12311221 unsigned Index = 0 ;
1232- for (RecordDecl::field_iterator
1233- it2 = RD-> field_begin (); *it2 != it-> first ; ++it2)
1222+ for (RecordDecl::field_iterator it2 = RD-> field_begin ();
1223+ *it2 != BitField. first ; ++it2)
12341224 ++Index;
1235- BFIs.push_back (std::make_pair (Index, &it-> second ));
1225+ BFIs.push_back (std::make_pair (Index, &BitField. second ));
12361226 }
12371227 llvm::array_pod_sort (BFIs.begin (), BFIs.end ());
1238- for (unsigned i = 0 , e = BFIs. size (); i != e; ++i ) {
1228+ for (auto &BFI : BFIs) {
12391229 OS.indent (4 );
1240- BFIs[i] .second ->print (OS);
1230+ BFI .second ->print (OS);
12411231 OS << " \n " ;
12421232 }
12431233
0 commit comments