From 69f16f75c66eb26ac49692558b4b4cbaad6a05c7 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Thu, 25 May 2023 09:46:21 -0700 Subject: [PATCH] [libc++][NFC] Add additional test case for modules issue in Objective-C++ Differential Revision: https://reviews.llvm.org/D151467 --- .../vector/erase.modules.compile.pass.mm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm 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 index 000000000000..0e21a2e168b2 --- /dev/null +++ b/libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm @@ -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 + +void f(std::vector vec, std::vector::iterator it) { + (void)vec.erase(it); +}