summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object/Archive.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-07-09 12:22:05 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-07-09 12:22:05 +0000
commit97ee9de652946cc6baed0f0e5a0fd53c86e895be (patch)
tree6a151bcb91d8e03eef38eaa4ac7ff6aec3cf60f6 /llvm/lib/Object/Archive.cpp
parentfaba61a7bc814fb94a5a3d452570efc0ce4e0214 (diff)
downloadbcm5719-llvm-97ee9de652946cc6baed0f0e5a0fd53c86e895be.tar.gz
bcm5719-llvm-97ee9de652946cc6baed0f0e5a0fd53c86e895be.zip
Add getHeader helper and move ToHeader to the cpp file.
llvm-svn: 185933
Diffstat (limited to 'llvm/lib/Object/Archive.cpp')
-rw-r--r--llvm/lib/Object/Archive.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Object/Archive.cpp b/llvm/lib/Object/Archive.cpp
index c8a96924237..14b21fd6361 100644
--- a/llvm/lib/Object/Archive.cpp
+++ b/llvm/lib/Object/Archive.cpp
@@ -61,12 +61,16 @@ uint64_t ArchiveMemberHeader::getSize() const {
return ret;
}
+static const ArchiveMemberHeader *toHeader(const char *base) {
+ return reinterpret_cast<const ArchiveMemberHeader *>(base);
+}
+
Archive::Child::Child(const Archive *Parent, const char *Start)
: Parent(Parent) {
if (!Start)
return;
- const ArchiveMemberHeader *Header = ToHeader(Start);
+ const ArchiveMemberHeader *Header = toHeader(Start);
Data = StringRef(Start, sizeof(ArchiveMemberHeader) + Header->getSize());
// Setup StartOfFile and PaddingBytes.
@@ -270,7 +274,7 @@ Archive::child_iterator Archive::begin_children(bool skip_internal) const {
const char *Loc = Data->getBufferStart() + strlen(Magic);
Child c(this, Loc);
// Skip internals at the beginning of an archive.
- if (skip_internal && isInternalMember(*ToHeader(Loc)))
+ if (skip_internal && isInternalMember(*toHeader(Loc)))
return c.getNext();
return c;
}
OpenPOWER on IntegriCloud