[libc++][NFC] Add additional test case for modules issue in Objective-C++
authorLouis Dionne <ldionne.2@gmail.com>
Thu, 25 May 2023 16:46:21 +0000 (09:46 -0700)
committerLouis Dionne <ldionne.2@gmail.com>
Fri, 26 May 2023 19:40:06 +0000 (12:40 -0700)
Differential Revision: https://reviews.llvm.org/D151467

libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm [new file with mode: 0644]

diff --git a/libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm b/libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm
new file mode 100644 (file)
index 0000000..0e21a2e
--- /dev/null
@@ -0,0 +1,18 @@
+//===----------------------------------------------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+// Make sure that we don't get a compiler error when trying to use std::vector::erase
+// from Objective-C++. This happened in Objective-C++ mode with modules enabled (rdar://106813461).
+
+// REQUIRES: objective-c++
+
+#include <vector>
+
+void f(std::vector<int> vec, std::vector<int>::iterator it) {
+    (void)vec.erase(it);
+}