SmallVector: support resize(N) with move-only types
[oota-llvm.git] / include / llvm / ADT / SmallVector.h
index c00248dab577d01b22d2e48b94c96f49a41a4c01..82538e9bd1085adebc212b1c001ceac8fef06d1d 100644 (file)
@@ -380,7 +380,8 @@ public:
     } else if (N > this->size()) {
       if (this->capacity() < N)
         this->grow(N);
-      std::uninitialized_fill(this->end(), this->begin()+N, T());
+      for (auto I = this->end(), E = this->begin() + N; I != E; ++I)
+        new (&*I) T();
       this->setEnd(this->begin()+N);
     }
   }