mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 17:26:06 +00:00

By renaming .fail.cpp tests that don't need clang-verify to .compile.fail.cpp, the new test format will not try to compile these tests with clang-verify, and the old test format will work just the same. However, this allows removing a workaround that requires parsing each test looking for clang-verify markup. After this change, a .fail.cpp test should always have clang-verify markup. When clang-verify is not supported by the compiler, we will just check that these tests fail to compile. When clang-verify is supported, these tests will be compiled with clang-verify whether they have markup or not (so they should have markup, or they will fail). This simplifies the test suite and also ensures that all of our .fail.cpp tests provide clang-verify markup. If it's impossible for a test to have clang-verify markup, it can be moved to a .compile.fail.cpp test, which are unconditionally just checked for compilation failure.
40 lines
1.0 KiB
C++
40 lines
1.0 KiB
C++
//===----------------------------------------------------------------------===//
|
|
//
|
|
// 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// <map>
|
|
|
|
// class map
|
|
|
|
// iterator find(const key_type& k);
|
|
// const_iterator find(const key_type& k) const;
|
|
//
|
|
// The member function templates find, count, lower_bound, upper_bound, and
|
|
// equal_range shall not participate in overload resolution unless the
|
|
// qualified-id Compare::is_transparent is valid and denotes a type
|
|
|
|
|
|
#include <map>
|
|
#include <cassert>
|
|
|
|
#include "test_macros.h"
|
|
#include "is_transparent.h"
|
|
|
|
#if TEST_STD_VER <= 11
|
|
#error "This test requires is C++14 (or later)"
|
|
#else
|
|
|
|
int main(int, char**)
|
|
{
|
|
{
|
|
typedef std::map<int, double, transparent_less_not_a_type> M;
|
|
|
|
TEST_IGNORE_NODISCARD M().count(C2Int{5});
|
|
}
|
|
}
|
|
#endif
|