diff options
| author | David Blaikie <dblaikie@gmail.com> | 2012-06-06 20:45:41 +0000 |
|---|---|---|
| committer | David Blaikie <dblaikie@gmail.com> | 2012-06-06 20:45:41 +0000 |
| commit | 40ed29730b2656796cd6085148f7aef1886040cf (patch) | |
| tree | 939094a1639d8564f8e5044bef548315b588ff32 /clang/lib/CodeGen/CGExprConstant.cpp | |
| parent | 3f87e3b7073a954b9f1a600e0cf8149e1e043134 (diff) | |
| download | bcm5719-llvm-40ed29730b2656796cd6085148f7aef1886040cf.tar.gz bcm5719-llvm-40ed29730b2656796cd6085148f7aef1886040cf.zip | |
Revert Decl's iterators back to pointer value_type rather than reference value_type
In addition, I've made the pointer and reference typedef 'void' rather than T*
just so they can't get misused. I would've omitted them entirely but
std::distance likes them to be there even if it doesn't use them.
This rolls back r155808 and r155869.
Review by Doug Gregor incorporating feedback from Chandler Carruth.
llvm-svn: 158104
Diffstat (limited to 'clang/lib/CodeGen/CGExprConstant.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGExprConstant.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp index 4e308aefe4f..854810b310d 100644 --- a/clang/lib/CodeGen/CGExprConstant.cpp +++ b/clang/lib/CodeGen/CGExprConstant.cpp @@ -386,20 +386,20 @@ bool ConstStructBuilder::Build(InitListExpr *ILE) { if (IsMsStruct) { // Zero-length bitfields following non-bitfield members are // ignored: - if (CGM.getContext().ZeroBitfieldFollowsNonBitfield(&*Field, LastFD)) { + if (CGM.getContext().ZeroBitfieldFollowsNonBitfield(*Field, LastFD)) { --FieldNo; continue; } - LastFD = &*Field; + LastFD = *Field; } // If this is a union, skip all the fields that aren't being initialized. - if (RD->isUnion() && ILE->getInitializedFieldInUnion() != &*Field) + if (RD->isUnion() && ILE->getInitializedFieldInUnion() != *Field) continue; // Don't emit anonymous bitfields, they just affect layout. if (Field->isUnnamedBitfield()) { - LastFD = &*Field; + LastFD = *Field; continue; } @@ -417,10 +417,10 @@ bool ConstStructBuilder::Build(InitListExpr *ILE) { if (!Field->isBitField()) { // Handle non-bitfield members. - AppendField(&*Field, Layout.getFieldOffset(FieldNo), EltInit); + AppendField(*Field, Layout.getFieldOffset(FieldNo), EltInit); } else { // Otherwise we have a bitfield. - AppendBitField(&*Field, Layout.getFieldOffset(FieldNo), + AppendBitField(*Field, Layout.getFieldOffset(FieldNo), cast<llvm::ConstantInt>(EltInit)); } } @@ -486,20 +486,20 @@ void ConstStructBuilder::Build(const APValue &Val, const RecordDecl *RD, if (IsMsStruct) { // Zero-length bitfields following non-bitfield members are // ignored: - if (CGM.getContext().ZeroBitfieldFollowsNonBitfield(&*Field, LastFD)) { + if (CGM.getContext().ZeroBitfieldFollowsNonBitfield(*Field, LastFD)) { --FieldNo; continue; } - LastFD = &*Field; + LastFD = *Field; } // If this is a union, skip all the fields that aren't being initialized. - if (RD->isUnion() && Val.getUnionField() != &*Field) + if (RD->isUnion() && Val.getUnionField() != *Field) continue; // Don't emit anonymous bitfields, they just affect layout. if (Field->isUnnamedBitfield()) { - LastFD = &*Field; + LastFD = *Field; continue; } @@ -512,10 +512,10 @@ void ConstStructBuilder::Build(const APValue &Val, const RecordDecl *RD, if (!Field->isBitField()) { // Handle non-bitfield members. - AppendField(&*Field, Layout.getFieldOffset(FieldNo) + OffsetBits, EltInit); + AppendField(*Field, Layout.getFieldOffset(FieldNo) + OffsetBits, EltInit); } else { // Otherwise we have a bitfield. - AppendBitField(&*Field, Layout.getFieldOffset(FieldNo) + OffsetBits, + AppendBitField(*Field, Layout.getFieldOffset(FieldNo) + OffsetBits, cast<llvm::ConstantInt>(EltInit)); } } @@ -1374,7 +1374,7 @@ static llvm::Constant *EmitNullConstant(CodeGenModule &CGM, // Fill in all the fields. for (RecordDecl::field_iterator I = record->field_begin(), E = record->field_end(); I != E; ++I) { - const FieldDecl *field = &*I; + const FieldDecl *field = *I; // Fill in non-bitfields. (Bitfields always use a zero pattern, which we // will fill in later.) |

