brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 8d01c8e Raw
58 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// UNSUPPORTED: c++0310// UNSUPPORTED: (c++11 || c++14 || c++17) && !stdlib=libc++11 12// Make sure the various node handles mark their .empty() method with13// [[nodiscard]] starting with C++2014 15#include <map>16#include <set>17#include <unordered_map>18#include <unordered_set>19 20#include "test_macros.h"21 22void test() {23#if TEST_STD_VER >= 1724  {25    std::map<int, int>::node_type node;26    node.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}27  }28  {29    std::multimap<int, int>::node_type node;30    node.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}31  }32#endif // TEST_STD_VER >= 1733  {34    std::set<int> node;35    node.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}36  }37  {38    std::multiset<int> node;39    node.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}40  }41  {42    std::unordered_map<int, int> node;43    node.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}44  }45  {46    std::unordered_multimap<int, int> node;47    node.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}48  }49  {50    std::unordered_set<int> node;51    node.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}52  }53  {54    std::unordered_multiset<int> node;55    node.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}56  }57}58