SmallVector: return a valid iterator for the rare case of inserting an empty range into a SmallVector.

Patch by Johannes Schaub!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158643 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/unittests/ADT/SmallVectorTest.cpp b/unittests/ADT/SmallVectorTest.cpp
index c2542d6..8f6d2f4 100644
--- a/unittests/ADT/SmallVectorTest.cpp
+++ b/unittests/ADT/SmallVectorTest.cpp
@@ -353,6 +353,9 @@
   makeSequence(theVector, 10, 15);
   theVector.insert(theVector.begin() + 1, 2, Constructable(16));
   assertValuesInOrder(theVector, 8u, 10, 16, 16, 11, 12, 13, 14, 15);
+
+  EXPECT_EQ(theVector.end(),
+            theVector.insert(theVector.end(), 0, Constructable(42)));
 }
 
 // Insert range.
@@ -362,6 +365,10 @@
   makeSequence(theVector, 1, 3);
   theVector.insert(theVector.begin() + 1, 3, Constructable(77));
   assertValuesInOrder(theVector, 6u, 1, 77, 77, 77, 2, 3);
+
+  EXPECT_EQ(theVector.end(), theVector.insert(theVector.end(),
+                                              theVector.begin(),
+                                              theVector.begin()));
 }
 
 // Comparison tests.