Author: lattner Date: Wed Jan 2 19:25:31 2008 New Revision: 45526 URL: http://llvm.org/viewvc/llvm-project?rev=45526&view=rev Log: don't access element zero of an array of size zero.
Modified: llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h Modified: llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h?rev=45526&r1=45525&r2=45526&view=diff ============================================================================== --- llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h Wed Jan 2 19:25:31 2008 @@ -108,10 +108,10 @@ 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. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits