From 4d6f96d6997738419627ebe13dd6cb9c88a98fd7 Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Mon, 9 Jul 2007 20:59:01 +0000 Subject: [PATCH] Make the assignment operator for SmallPtrSet return a reference, and fix a long-standing bug in the copy ctor while I'm at it. Thanks to Chris Lattner for help with this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38470 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/SmallPtrSet.h | 2 +- lib/Support/SmallPtrSet.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/llvm/ADT/SmallPtrSet.h b/include/llvm/ADT/SmallPtrSet.h index 2563982f514..9f975af07c5 100644 --- a/include/llvm/ADT/SmallPtrSet.h +++ b/include/llvm/ADT/SmallPtrSet.h @@ -240,7 +240,7 @@ public: // Allow assignment from any smallptrset with the same element type even if it // doesn't have the same smallsize. - const SmallPtrSet + const SmallPtrSet& operator=(const SmallPtrSet &RHS) { CopyFrom(RHS); return *this; diff --git a/lib/Support/SmallPtrSet.cpp b/lib/Support/SmallPtrSet.cpp index 5ad243033fc..e8e530fceed 100644 --- a/lib/Support/SmallPtrSet.cpp +++ b/lib/Support/SmallPtrSet.cpp @@ -164,7 +164,7 @@ SmallPtrSetImpl::SmallPtrSetImpl(const SmallPtrSetImpl& that) { CurArray[CurArraySize] = 0; // Copy over all valid entries. - for (void **BucketPtr = that.CurArray, **E = that.CurArray+CurArraySize; + for (void **BucketPtr = that.CurArray, **E = that.CurArray+that.CurArraySize; BucketPtr != E; ++BucketPtr) { // Copy over the element if it is valid. void *Elt = *BucketPtr; -- 2.34.1