xref: /llvm-project/libcxx/test/libcxx/diagnostics/map.nodiscard.verify.cpp (revision 83bc7b57714dc2f6b33c188f2b95a0025468ba51)
1*83bc7b57SNikolas Klauser //===----------------------------------------------------------------------===//
2*83bc7b57SNikolas Klauser //
3*83bc7b57SNikolas Klauser // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*83bc7b57SNikolas Klauser // See https://llvm.org/LICENSE.txt for license information.
5*83bc7b57SNikolas Klauser // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*83bc7b57SNikolas Klauser //
7*83bc7b57SNikolas Klauser //===----------------------------------------------------------------------===//
8*83bc7b57SNikolas Klauser 
9*83bc7b57SNikolas Klauser // UNSUPPORTED: c++03
10*83bc7b57SNikolas Klauser 
11*83bc7b57SNikolas Klauser // check that <map> functions are marked [[nodiscard]]
12*83bc7b57SNikolas Klauser 
13*83bc7b57SNikolas Klauser #include <map>
14*83bc7b57SNikolas Klauser 
map_test()15*83bc7b57SNikolas Klauser void map_test() {
16*83bc7b57SNikolas Klauser   std::map<int, int> map;
17*83bc7b57SNikolas Klauser   map.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
18*83bc7b57SNikolas Klauser }
19*83bc7b57SNikolas Klauser 
multimap_test()20*83bc7b57SNikolas Klauser void multimap_test() {
21*83bc7b57SNikolas Klauser   std::multimap<int, int> multimap;
22*83bc7b57SNikolas Klauser   multimap.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
23*83bc7b57SNikolas Klauser }
24