Store TypeUnits in a SmallVector<DWARFUnitSection> instead of a single DWARFUnitSection.
authorFrederic Riss <friss@apple.com>
Mon, 29 Sep 2014 13:56:39 +0000 (13:56 +0000)
committerFrederic Riss <friss@apple.com>
Mon, 29 Sep 2014 13:56:39 +0000 (13:56 +0000)
commit97552d7c1c5a42f8eb6ce8ea8301df4c0185e768
treee7ffebc90cac246ae93a7a12285a7193fe8af771
parentdbaeb6e7cbc50d41c67e8e2c72b52f58cc551979
Store TypeUnits in a SmallVector<DWARFUnitSection> instead of a single DWARFUnitSection.

There will be multiple TypeUnits in an unlinked object that will be extracted
from different sections. Now that we have DWARFUnitSection that is supposed
to represent an input section, we need a DWARFUnitSection<TypeUnit> per
input .debug_types section.

Once this is done, the interface is homogenous and we can move the Section
parsing code into DWARFUnitSection.

This is a respin of r218513 that got reverted because it broke some builders.
This new version features an explicit move constructor for the DWARFUnitSection
class to workaround compilers unable to generate correct C++11 default
constructors.

Reviewers: samsonov, dblaikie

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D5482

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218606 91177308-0d34-0410-b5e6-96231b3b80d8
lib/DebugInfo/DWARFContext.cpp
lib/DebugInfo/DWARFContext.h
lib/DebugInfo/DWARFUnit.h