From 52de271da1d56fe80e924bb57659de96e06246fd Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Sat, 16 Jun 2012 00:44:07 +0000 Subject: [PATCH] Don't call 'FilesToRemove[0]' when the vector is empty, even to compute the address of it. Found by a checking STL implementation used on a dragonegg builder. Sorry about this one. =/ llvm-svn: 158582 --- llvm/lib/Support/Unix/Signals.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/lib/Support/Unix/Signals.inc b/llvm/lib/Support/Unix/Signals.inc index b2e5fd8b0a5f..519511685dd6 100644 --- a/llvm/lib/Support/Unix/Signals.inc +++ b/llvm/lib/Support/Unix/Signals.inc @@ -189,7 +189,7 @@ void llvm::sys::SetInterruptFunction(void (*IF)()) { bool llvm::sys::RemoveFileOnSignal(const sys::Path &Filename, std::string* ErrMsg) { SignalsMutex.acquire(); - std::string *OldPtr = &FilesToRemove[0]; + std::string *OldPtr = FilesToRemove.empty() ? 0 : &FilesToRemove[0]; FilesToRemove.push_back(Filename.str()); // We want to call 'c_str()' on every std::string in this vector so that if