--- /dev/null
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: c++98, c++03
+
+// RUN: %build -fno-exceptions
+// RUN: %run
+
+// RUN: %build
+// RUN: %run
+
+// UNSUPPORTED: c++98, c++03
+
+// <vector>
+
+// Test that vector won't try to call the move constructor when resizing if
+// the class has a deleted move constructor (but a working copy constructor).
+
+#include <vector>
+
+class CopyOnly {
+public:
+ CopyOnly() { }
+
+ CopyOnly(CopyOnly&&) = delete;
+ CopyOnly& operator=(CopyOnly&&) = delete;
+
+ CopyOnly(const CopyOnly&) = default;
+ CopyOnly& operator=(const CopyOnly&) = default;
+};
+
+int main() {
+ std::vector<CopyOnly> x;
+ x.emplace_back();
+
+ CopyOnly c;
+ x.push_back(c);
+
+ return 0;
+}