From 8f05a611e951024dbd7d3a608df4de34d317a299 Mon Sep 17 00:00:00 2001 From: Jim Laskey Date: Sun, 29 Oct 2006 08:27:07 +0000 Subject: Not handling zero length strings. llvm-svn: 31277 --- llvm/lib/Support/FoldingSet.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Support') diff --git a/llvm/lib/Support/FoldingSet.cpp b/llvm/lib/Support/FoldingSet.cpp index 2ae98760587..4fe67d7895e 100644 --- a/llvm/lib/Support/FoldingSet.cpp +++ b/llvm/lib/Support/FoldingSet.cpp @@ -61,7 +61,7 @@ void FoldingSetImpl::NodeID::AddString(const std::string &String) { Pos = Units * sizeof(unsigned); } else { // Otherwise do it the hard way. - for ( Pos += 4; Pos < Size; Pos += 4) { + for ( Pos += 4; Pos <= Size; Pos += 4) { unsigned V = ((unsigned char)String[Pos - 4] << 24) | ((unsigned char)String[Pos - 3] << 16) | ((unsigned char)String[Pos - 2] << 8) | @@ -77,7 +77,7 @@ void FoldingSetImpl::NodeID::AddString(const std::string &String) { case 1: V = (V << 8) | (unsigned char)String[Size - 3]; // Fall thru. case 2: V = (V << 8) | (unsigned char)String[Size - 2]; // Fall thru. case 3: V = (V << 8) | (unsigned char)String[Size - 1]; break; - case 0: return; // Nothing left. + default: return; // Nothing left. } Bits.push_back(V); -- cgit v1.2.3