[ELF] Add support for reading dynamic libraries.
llvm-svn: 174916
diff --git a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
index e351cc1..5320b6e 100644
--- a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
+++ b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
@@ -220,13 +220,15 @@
template <typename T>
class AtomList : public lld::File::atom_collection<T> {
public:
- virtual lld::File::atom_iterator<T> begin() const {
- return lld::File::atom_iterator<T>(*this, reinterpret_cast<const void*>
- (_atoms.data()));
+ virtual lld::File::atom_iterator<T> begin() const {
+ return lld::File::atom_iterator<
+ T>(*this,
+ _atoms.empty() ? 0 : reinterpret_cast<const void *>(_atoms.data()));
}
- virtual lld::File::atom_iterator<T> end() const{
- return lld::File::atom_iterator<T>(*this, reinterpret_cast<const void*>
- (_atoms.data() + _atoms.size()));
+ virtual lld::File::atom_iterator<T> end() const{
+ return lld::File::atom_iterator<
+ T>(*this, _atoms.empty() ? 0 :
+ reinterpret_cast<const void *>(_atoms.data() + _atoms.size()));
}
virtual const T *deref(const void *it) const {
return *reinterpret_cast<const T *const*>(it);