[libcxx-commits] [libcxx] 1d4743e - [libc++][NFC] Refactored `nodiscard.verify.cpp` tests (#175285)

via libcxx-commits libcxx-commits at lists.llvm.org
Sun Jan 11 02:11:44 PST 2026


Author: Hristo Hristov
Date: 2026-01-11T12:11:39+02:00
New Revision: 1d4743e1bc7bd19e4d8e4139e878e6421bd303a4

URL: https://github.com/llvm/llvm-project/commit/1d4743e1bc7bd19e4d8e4139e878e6421bd303a4
DIFF: https://github.com/llvm/llvm-project/commit/1d4743e1bc7bd19e4d8e4139e878e6421bd303a4.diff

LOG: [libc++][NFC] Refactored `nodiscard.verify.cpp` tests (#175285)

Moved tests to the correct locations.
Removed a redundant test.

Added: 
    libcxx/test/libcxx/containers/container.node/node_handle.nodiscard.verify.cpp
    libcxx/test/libcxx/utilities/memory/nodiscard.verify.cpp

Modified: 
    libcxx/test/libcxx/language.support/nodiscard.verify.cpp
    libcxx/test/libcxx/utilities/variant/nodiscard.verify.cpp

Removed: 
    libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
    libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp
    libcxx/test/std/containers/container.node/node_handle.nodiscard.verify.cpp


################################################################################
diff  --git a/libcxx/test/std/containers/container.node/node_handle.nodiscard.verify.cpp b/libcxx/test/libcxx/containers/container.node/node_handle.nodiscard.verify.cpp
similarity index 100%
rename from libcxx/test/std/containers/container.node/node_handle.nodiscard.verify.cpp
rename to libcxx/test/libcxx/containers/container.node/node_handle.nodiscard.verify.cpp

diff  --git a/libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp b/libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp
deleted file mode 100644
index 84aeafeaa279e..0000000000000
--- a/libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11, c++14
-
-// check that <__node_handle> functions are marked [[nodiscard]]
-
-#include <set>
-
-void func() {
-  std::set<int> set;
-  set.extract(0).empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
-}

diff  --git a/libcxx/test/libcxx/language.support/nodiscard.verify.cpp b/libcxx/test/libcxx/language.support/nodiscard.verify.cpp
index 3512dffa2cd24..a5ac8b6cfc8e9 100644
--- a/libcxx/test/libcxx/language.support/nodiscard.verify.cpp
+++ b/libcxx/test/libcxx/language.support/nodiscard.verify.cpp
@@ -103,16 +103,18 @@ void test() {
       nex.nested_ptr(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
     }
 
-#if TEST_STD_VER <= 14
-    std::get_unexpected(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
-#endif
+    { // Removed in C++17
+      // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+      std::get_unexpected();
+    }
 
     std::get_terminate(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
 
-#if _LIBCPP_STD_VER <= 17
-    // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
-    std::uncaught_exception();
-#endif
+    { // Removed in C++20
+      // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+      std::uncaught_exception();
+    }
+
     // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
     std::uncaught_exceptions();
 

diff  --git a/libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp b/libcxx/test/libcxx/utilities/memory/nodiscard.verify.cpp
similarity index 100%
rename from libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
rename to libcxx/test/libcxx/utilities/memory/nodiscard.verify.cpp

diff  --git a/libcxx/test/libcxx/utilities/variant/nodiscard.verify.cpp b/libcxx/test/libcxx/utilities/variant/nodiscard.verify.cpp
index b74a66f446311..b8ed7fe0321cd 100644
--- a/libcxx/test/libcxx/utilities/variant/nodiscard.verify.cpp
+++ b/libcxx/test/libcxx/utilities/variant/nodiscard.verify.cpp
@@ -66,7 +66,7 @@ void test() {
   }
 
   {
-    std::hash< std::variant<int, float>> hash;
+    std::hash<std::variant<int, float>> hash;
 
     // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
     hash(std::variant<int, float>{});


        


More information about the libcxx-commits mailing list