From 9848ced5d0eec8cbc44f9fbe5ce273189b0b9b2b Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 3 Jan 2008 01:25:31 +0000 Subject: [PATCH] don't access element zero of an array of size zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45526 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/MachineRegisterInfo.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/llvm/CodeGen/MachineRegisterInfo.h b/include/llvm/CodeGen/MachineRegisterInfo.h index 81eb69414ad..8af42b7cf5f 100644 --- a/include/llvm/CodeGen/MachineRegisterInfo.h +++ b/include/llvm/CodeGen/MachineRegisterInfo.h @@ -108,10 +108,10 @@ public: unsigned createVirtualRegister(const TargetRegisterClass *RegClass) { assert(RegClass && "Cannot create register without RegClass!"); // Add a reg, but keep track of whether the vector reallocated or not. - void *ArrayBase = &VRegInfo[0]; + void *ArrayBase = VRegInfo.empty() ? 0 : &VRegInfo[0]; VRegInfo.push_back(std::make_pair(RegClass, (MachineOperand*)0)); - if (&VRegInfo[0] == ArrayBase) + if (&VRegInfo[0] == ArrayBase || VRegInfo.size() == 1) return getLastVirtReg(); // Otherwise, the vector reallocated, handle this now.