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
This commit is contained in:
Owen Anderson 2007-07-09 20:59:01 +00:00
parent b42295df4d
commit 4d6f96d699
2 changed files with 2 additions and 2 deletions

View File

@ -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<PtrType, SmallSize>
const SmallPtrSet<PtrType, SmallSize>&
operator=(const SmallPtrSet<PtrType, SmallSize> &RHS) {
CopyFrom(RHS);
return *this;

View File

@ -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;