1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00

Fix for PR3946, in which SmallVector could behave strangely in corner cases.

Patch by Peter Johnson.

llvm-svn: 69785
This commit is contained in:
Owen Anderson 2009-04-22 07:16:54 +00:00
parent 60c88b66da
commit dd6babaa30

View File

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