Avoid undefined behavior when vector is empty.

Found by ubsan.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255258 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2015-12-10 16:35:06 +00:00
parent f3ba0560c0
commit 4d1332c4e7
2 changed files with 3 additions and 2 deletions

View File

@ -58,6 +58,8 @@ public:
insert(Start, End);
}
ArrayRef<T> getArrayRef() const { return vector_; }
/// \brief Determine if the SetVector is empty or not.
bool empty() const {
return vector_.empty();

View File

@ -772,8 +772,7 @@ bool ModuleLinker::run() {
Internalize.insert(GV->getName());
}
if (Mover.move(SrcM,
makeArrayRef(&*ValuesToLink.begin(), ValuesToLink.size()),
if (Mover.move(SrcM, ValuesToLink.getArrayRef(),
[this](GlobalValue &GV, IRMover::ValueAdder Add) {
addLazyFor(GV, Add);
}))