forked from OSchip/llvm-project
Fix for PR3946, in which SmallVector could behave strangely in corner cases.
Patch by Peter Johnson. llvm-svn: 69785
This commit is contained in:
parent
43e6f8c08b
commit
ecf6910f41
|
@ -302,7 +302,7 @@ public:
|
|||
append(End-NumToInsert, End);
|
||||
|
||||
// Copy the existing elements that get replaced.
|
||||
std::copy(I, OldEnd-NumToInsert, I+NumToInsert);
|
||||
std::copy_backward(I, OldEnd-NumToInsert, OldEnd);
|
||||
|
||||
std::fill_n(I, NumToInsert, Elt);
|
||||
return I;
|
||||
|
@ -351,7 +351,7 @@ public:
|
|||
append(End-NumToInsert, End);
|
||||
|
||||
// Copy the existing elements that get replaced.
|
||||
std::copy(I, OldEnd-NumToInsert, I+NumToInsert);
|
||||
std::copy_backward(I, OldEnd-NumToInsert, OldEnd);
|
||||
|
||||
std::copy(From, To, I);
|
||||
return I;
|
||||
|
|
Loading…
Reference in New Issue