{"id":2226272,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2226272/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/bmm.hhubfyz6j6.gcc.gcc-TEST.redi.22.1.1@forge-stage.sourceware.org/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.2/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<bmm.hhubfyz6j6.gcc.gcc-TEST.redi.22.1.1@forge-stage.sourceware.org>","list_archive_url":null,"date":"2026-04-22T10:32:45","name":"[v1,1/1] libstdc++: Make _GLIBCXX_NODISCARD work for C++11 and C++14","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"4779c336f13f9599446fb0c0c377a523b5c29564","submitter":{"id":93210,"url":"http://patchwork.ozlabs.org/api/1.2/people/93210/?format=json","name":"Jonathan Wakely via Sourceware Forge","email":"forge-bot+redi@forge-stage.sourceware.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/bmm.hhubfyz6j6.gcc.gcc-TEST.redi.22.1.1@forge-stage.sourceware.org/mbox/","series":[{"id":500982,"url":"http://patchwork.ozlabs.org/api/1.2/series/500982/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=500982","date":"2026-04-22T10:32:45","name":"[v1,1/1] libstdc++: Make _GLIBCXX_NODISCARD work for C++11 and C++14","version":1,"mbox":"http://patchwork.ozlabs.org/series/500982/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2226272/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2226272/checks/","tags":{},"related":[],"headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0x4x0KStz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 20:57:21 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 948AA407D884\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 10:57:18 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id A9D82441FFC3\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 10:33:41 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 7F14A42B2F\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 10:33:41 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 948AA407D884","OpenDKIM Filter v2.11.0 sourceware.org A9D82441FFC3"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org A9D82441FFC3","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org A9D82441FFC3","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776854021; cv=none;\n b=A8vO8Fpjgiz3uYYJZTwbNA6huPrOB/fgmomT9d70q4SDopW0vtdk6slnptWnLgat62sVlOSP0qbZedDGbelcnZ6DB+ubTCnu7sgrCmonYI5aF1+zBvn5CLQOo4LJv7R/dCJ1x577d2y1szA7R0Qq91eY+O0kj1Bi6LGHlQ3atyA=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776854021; c=relaxed/simple;\n bh=gVowNaEHNxwhHLn8QSK3lvV0S+Ea7+6zjz5dIA4TCBs=;\n h=From:Date:Subject:To:Message-ID;\n b=D6EoHihcOTBk5ZdeeDR7jcfwIUkqORxar7cszPfm9CgjzExHco/sJ4wGwtmDmwxXVaIXCNswIPs85fY/GyndBMjZD+KNiqG0uR3G7Ha79pq/PGWteLKDj5ZZ4OReMDzlm+9EdmqFh37A+Yc4M5uhi6rMfqvHOCTFCVw7ISiLbF4=","ARC-Authentication-Results":"i=1; server2.sourceware.org","From":"Jonathan Wakely via Sourceware Forge\n <forge-bot+redi@forge-stage.sourceware.org>","Date":"Wed, 22 Apr 2026 10:32:45 +0000","Subject":"[PATCH v1 1/1] libstdc++: Make _GLIBCXX_NODISCARD work for C++11 and\n C++14","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Message-ID":"\n <bmm.hhubfyz6j6.gcc.gcc-TEST.redi.22.1.1@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/22","References":"\n <bmm.hhubfyz6j6.gcc.gcc-TEST.redi.22.1.0@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhubfyz6j6.gcc.gcc-TEST.redi.22.1.0@forge-stage.sourceware.org>","X-Patch-URL":"\n https://forge.sourceware.org/redi/gcc/commit/4f1ad2c3a2899c98506ef93912dd99219aef0b54","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Reply-To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>, redi@gcc.gnu.org","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"},"content":"From: Jonathan Wakely <jwakely@redhat.com>\n\nThe _GLIBCXX_NODISCARD macro only expands to [[__nodiscard__]] for C++17\nand later, but all supported compilers will allow us to use that for\nC++11 and C++14 too. Enable it for those older standards, to give\nimproved diagnostics for users of those older standards.\n\nlibstdc++-v3/ChangeLog:\n\n\t* include/bits/c++config (_GLIBCXX_NODISCARD): Expand for C++11\n\tand C++14.\n\t* testsuite/22_locale/locale/cons/12438.cc: Adjust dg-warning to\n\texpect nodiscard warnings for C++11 and C++14 as well.\n\t* testsuite/22_locale/locale/operations/2.cc: Likewise.\n\t* testsuite/25_algorithms/equal/debug/1_neg.cc: Likewise.\n\t* testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise.\n\t* testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise.\n\t* testsuite/25_algorithms/find_first_of/concept_check_1.cc:\n\tLikewise.\n\t* testsuite/25_algorithms/is_permutation/2.cc: Likewise.\n\t* testsuite/25_algorithms/lexicographical_compare/71545.cc:\n\tLikewise.\n\t* testsuite/25_algorithms/lower_bound/33613.cc: Likewise.\n\t* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc:\n\tLikewise.\n\t* testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc:\n\tLikewise.\n\t* testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: Likewise.\n\t* testsuite/25_algorithms/minmax/3.cc: Likewise.\n\t* testsuite/25_algorithms/search/78346.cc: Likewise.\n\t* testsuite/25_algorithms/search_n/58358.cc: Likewise.\n\t* testsuite/25_algorithms/unique/1.cc: Likewise.\n\t* testsuite/25_algorithms/unique/11480.cc: Likewise.\n\t* testsuite/25_algorithms/upper_bound/33613.cc: Likewise.\n\t* testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc:\n\tLikewise.\n\t* testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: Likewise.\n\t* testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc:\n\tLikewise.\n\t* testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc:\n\tLikewise.\n\t* testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc:\n\tLikewise.\n\t* testsuite/ext/concept_checks.cc: Likewise.\n\t* testsuite/ext/is_heap/47709.cc: Likewise.\n\t* testsuite/ext/is_sorted/cxx0x.cc: Likewise.\n---\n libstdc++-v3/include/bits/c++config                       | 2 +-\n libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc     | 2 +-\n libstdc++-v3/testsuite/22_locale/locale/operations/2.cc   | 2 +-\n libstdc++-v3/testsuite/25_algorithms/equal/debug/1_neg.cc | 2 +-\n libstdc++-v3/testsuite/25_algorithms/equal/debug/2_neg.cc | 2 +-\n libstdc++-v3/testsuite/25_algorithms/equal/debug/3_neg.cc | 2 +-\n .../25_algorithms/find_first_of/concept_check_1.cc        | 2 +-\n libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc  | 2 +-\n .../25_algorithms/lexicographical_compare/71545.cc        | 2 +-\n libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc | 2 +-\n .../25_algorithms/lower_bound/debug/irreflexive.cc        | 2 +-\n .../25_algorithms/lower_bound/debug/partitioned_neg.cc    | 2 +-\n .../lower_bound/debug/partitioned_pred_neg.cc             | 2 +-\n libstdc++-v3/testsuite/25_algorithms/minmax/3.cc          | 2 +-\n libstdc++-v3/testsuite/25_algorithms/search/78346.cc      | 2 +-\n libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc    | 2 +-\n libstdc++-v3/testsuite/25_algorithms/unique/1.cc          | 2 +-\n libstdc++-v3/testsuite/25_algorithms/unique/11480.cc      | 2 +-\n libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc | 2 +-\n .../25_algorithms/upper_bound/debug/partitioned_neg.cc    | 2 +-\n .../upper_bound/debug/partitioned_pred_neg.cc             | 2 +-\n .../27_io/ios_base/types/fmtflags/bitmask_operators.cc    | 8 ++++----\n .../27_io/ios_base/types/iostate/bitmask_operators.cc     | 8 ++++----\n .../27_io/ios_base/types/openmode/bitmask_operators.cc    | 8 ++++----\n libstdc++-v3/testsuite/ext/concept_checks.cc              | 8 ++++----\n libstdc++-v3/testsuite/ext/is_heap/47709.cc               | 3 +--\n libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc             | 3 +--\n 27 files changed, 39 insertions(+), 41 deletions(-)","diff":"diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config\nindex 1076803a8655..236906d2f79f 100644\n--- a/libstdc++-v3/include/bits/c++config\n+++ b/libstdc++-v3/include/bits/c++config\n@@ -169,7 +169,7 @@\n #endif\n \n // Macro to warn about unused results.\n-#if __cplusplus >= 201703L\n+#if __cplusplus >= 201103L\n # define _GLIBCXX_NODISCARD [[__nodiscard__]]\n #else\n # define _GLIBCXX_NODISCARD\ndiff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc\nindex 4838e1ba6936..72b6b15adf5e 100644\n--- a/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc\n+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc\n@@ -45,7 +45,7 @@ void test01(int iters)\n \t  locale loc2 = locale(\"\");\n \t  VERIFY( !has_facet<MyFacet>(loc2) );\n \t  \n-\t  loc1.combine<MyFacet>(loc2); // { dg-warning \"nodiscard\" \"\" { target c++17 } }\n+\t  loc1.combine<MyFacet>(loc2); // { dg-warning \"nodiscard\" \"\" { target c++11 } }\n \t  VERIFY( false );\n \t}\n       catch (std::runtime_error&)\ndiff --git a/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc b/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc\nindex 917adecac56e..c0a6613eb74f 100644\n--- a/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc\n+++ b/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc\n@@ -48,7 +48,7 @@ void test02()\n   // Derivation, MF check.\n   locale loc_gnu(loc_c, new gnu_collate);\n   gnu_count = 0;\n-  loc_gnu(s01, s02); // { dg-warning \"nodiscard\" \"\" { target c++17 } }\n+  loc_gnu(s01, s02); // { dg-warning \"nodiscard\" \"\" { target c++11 } }\n   VERIFY( gnu_count == 1 );\n }\n \ndiff --git a/libstdc++-v3/testsuite/25_algorithms/equal/debug/1_neg.cc b/libstdc++-v3/testsuite/25_algorithms/equal/debug/1_neg.cc\nindex f9328599a558..38060b1bea41 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/equal/debug/1_neg.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/equal/debug/1_neg.cc\n@@ -27,7 +27,7 @@ test01()\n   std::vector<int> vect;\n   vect.push_back(1);\n   std::equal(vect.end(), vect.begin(), vect.begin());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 29 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 29 }\n }\n \n int\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/equal/debug/2_neg.cc b/libstdc++-v3/testsuite/25_algorithms/equal/debug/2_neg.cc\nindex 2e9134a74ea6..5148571fa219 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/equal/debug/2_neg.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/equal/debug/2_neg.cc\n@@ -27,7 +27,7 @@ test01()\n   std::vector<int> v1, v2;\n   v1.push_back(1);\n   std::equal(v1.begin(), v1.end(), v2.begin());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 29 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 29 }\n }\n \n int\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/equal/debug/3_neg.cc b/libstdc++-v3/testsuite/25_algorithms/equal/debug/3_neg.cc\nindex 425e7aa78c66..5a176306c2b8 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/equal/debug/3_neg.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/equal/debug/3_neg.cc\n@@ -33,7 +33,7 @@ test01()\n   l2.push_back(2);\n \n   std::equal(++l1.begin(), l1.end(), ++l2.begin());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 35 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 35 }\n }\n \n int\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc b/libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc\nindex a970cd4bd61c..33f3b42b9fbe 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc\n@@ -37,7 +37,7 @@ class2 b;\n void test01()\n {\n   std::find_first_of(&a, &a, &b, &b, comp);\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 39 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 39 }\n }\n \n int main()\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc\nindex ab0610c32955..3561c2e6fbfb 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc\n@@ -103,7 +103,7 @@ void test02()\n   int arr[] = { 11, 22, 33 };\n   using namespace std;\n   is_permutation(begin(arr0), end(arr0), begin(arr), end(arr), thrower);\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 105 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 105 }\n }\n \n int main()\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/71545.cc b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/71545.cc\nindex 9f666caa68b7..9f50714e3c90 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/71545.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/71545.cc\n@@ -33,5 +33,5 @@ int main()\n   X x[1];\n   int i[1];\n   std::lexicographical_compare(x, x+1, i, i+1);\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 35 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 35 }\n }\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc\nindex fa42b82b7213..adb04d3f0a13 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc\n@@ -33,5 +33,5 @@ bool ab(A, B);\n void test01(A* a, B b)\n {\n   std::lower_bound(a, a, b, ab);\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 35 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 35 }\n }\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc\nindex 41a6028e4041..d85459a57aaf 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc\n@@ -44,5 +44,5 @@ void test01()\n {\n   A as[] = { 0, 1, 2, 3 };\n   std::lower_bound(as, as + 4, 1, A_int_comparer());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 46 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 46 }\n }\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc\nindex bc01d8147fad..34a6dbc2531a 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc\n@@ -36,7 +36,7 @@ void test01()\n {\n   A as[] = { 0, 1, 2, 0, 2, 3 };\n   std::lower_bound(as, as + 6, A(1));\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 38 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 38 }\n }\n \n int\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc\nindex f860df939404..2e7dec02540b 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc\n@@ -24,7 +24,7 @@ void test01()\n {\n   int as[] = { 0, 1, 0, 2, 3 };\n   std::lower_bound(as, as + 5, 1, std::less<int>());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 26 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 26 }\n }\n \n \ndiff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc\nindex a6620b9fa0d8..63607cd46944 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc\n@@ -43,7 +43,7 @@ int compare_counter::count = 0;\n void test01()\n {\n   std::minmax({1, 2, 3, 4, 5, 6, 7, 8}, compare_counter());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 45 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 45 }\n \n   // If N is the number of arguments in the minmax function call, \n   // 25.3.7 specifies that at most 3N/2 comparisons are allowed.\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/search/78346.cc b/libstdc++-v3/testsuite/25_algorithms/search/78346.cc\nindex e6f3956b252d..18fc946b2f3e 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/search/78346.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/search/78346.cc\n@@ -109,7 +109,7 @@ test01()\n {\n   value s[] = { 0, 1, 2, 3, 4, 5 };\n   std::search(s, s+6, stashing_iterator(s), stashing_iterator(s+4));\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 111 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 111 }\n }\n \n int\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc b/libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc\nindex 651fd86fc9c1..b16e8c186a29 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc\n@@ -29,7 +29,7 @@ void test01()\n   int count = 0;\n   std::search_n(a.begin(), a.end(), 10, 1,\n \t\t[&count](int t, int u) { ++count; return t == u; });\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 30 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 30 }\n   VERIFY( count <= 11 );\n }\n \ndiff --git a/libstdc++-v3/testsuite/25_algorithms/unique/1.cc b/libstdc++-v3/testsuite/25_algorithms/unique/1.cc\nindex 698c370e2299..f5e3c976a630 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/unique/1.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/unique/1.cc\n@@ -27,6 +27,6 @@ int main()\n   using namespace std;\n   list<int> menge;\n   unique (menge.begin(), menge.end());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 29 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 29 }\n   return 0;\n }\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc b/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc\nindex a008fc57f549..8c11b4c429d7 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc\n@@ -31,7 +31,7 @@ bool compare(int a, int b)\n // libstdc++/11480\n void test01()\n {\n-  std::unique(a, a+10, compare); // { dg-warning \"ignoring return value\" \"\" { target c++17 } }\n+  std::unique(a, a+10, compare); // { dg-warning \"ignoring return value\" \"\" { target c++11 } }\n   VERIFY( compare_count == 9 );\n }\n \ndiff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc\nindex 19453a38f514..e9eabef5a533 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc\n@@ -33,5 +33,5 @@ bool ba(B, A);\n void test01(A* a, B b)\n {\n   std::upper_bound(a, a, b, ba);\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 35 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 35 }\n }\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc\nindex 630357d6a456..a48a8261ef6f 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc\n@@ -36,7 +36,7 @@ void test01()\n {\n   A as[] = { 0, 2, 1, 3, 4, 5 };\n   std::upper_bound(as, as + 6, A(1));\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 38 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 38 }\n }\n \n int\ndiff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc\nindex 5beab7d22d74..3e69a24af026 100644\n--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc\n+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc\n@@ -24,7 +24,7 @@ void test01()\n {\n   int as[] = { 0, 2, 1, 3, 4 };\n   std::upper_bound(as, as + 5, 1, std::less<int>());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 26 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 26 }\n }\n \n \ndiff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc\nindex 604d2aa6b5a2..3cf8ebe9c469 100644\n--- a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc\n+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc\n@@ -27,7 +27,7 @@ int main()\n {\n   __gnu_test::bitmask_operators<std::ios_base::fmtflags>();\n }\n-// { dg-warning \"ignoring return value.*operator\\\\|\" \"\" { target c++17 } 0 }\n-// { dg-warning \"ignoring return value.*operator&\" \"\" { target c++17 } 0 }\n-// { dg-warning \"ignoring return value.*operator\\\\^\" \"\" { target c++17 } 0 }\n-// { dg-warning \"ignoring return value.*operator~\" \"\" { target c++17 } 0 }\n+// { dg-warning \"ignoring return value.*operator\\\\|\" \"\" { target c++11 } 0 }\n+// { dg-warning \"ignoring return value.*operator&\" \"\" { target c++11 } 0 }\n+// { dg-warning \"ignoring return value.*operator\\\\^\" \"\" { target c++11 } 0 }\n+// { dg-warning \"ignoring return value.*operator~\" \"\" { target c++11 } 0 }\ndiff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc\nindex a98435867ed4..d6580bb0e709 100644\n--- a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc\n+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc\n@@ -27,7 +27,7 @@ int main()\n {\n   __gnu_test::bitmask_operators<std::ios_base::iostate>();\n }\n-// { dg-warning \"ignoring return value.*operator\\\\|\" \"\" { target c++17 } 0 }\n-// { dg-warning \"ignoring return value.*operator&\" \"\" { target c++17 } 0 }\n-// { dg-warning \"ignoring return value.*operator\\\\^\" \"\" { target c++17 } 0 }\n-// { dg-warning \"ignoring return value.*operator~\" \"\" { target c++17 } 0 }\n+// { dg-warning \"ignoring return value.*operator\\\\|\" \"\" { target c++11 } 0 }\n+// { dg-warning \"ignoring return value.*operator&\" \"\" { target c++11 } 0 }\n+// { dg-warning \"ignoring return value.*operator\\\\^\" \"\" { target c++11 } 0 }\n+// { dg-warning \"ignoring return value.*operator~\" \"\" { target c++11 } 0 }\ndiff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc\nindex 6d0242173628..9a94d9b145a4 100644\n--- a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc\n+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc\n@@ -27,7 +27,7 @@ int main()\n {\n   __gnu_test::bitmask_operators<std::ios_base::openmode>();\n }\n-// { dg-warning \"ignoring return value.*operator\\\\|\" \"\" { target c++17 } 0 }\n-// { dg-warning \"ignoring return value.*operator&\" \"\" { target c++17 } 0 }\n-// { dg-warning \"ignoring return value.*operator\\\\^\" \"\" { target c++17 } 0 }\n-// { dg-warning \"ignoring return value.*operator~\" \"\" { target c++17 } 0 }\n+// { dg-warning \"ignoring return value.*operator\\\\|\" \"\" { target c++11 } 0 }\n+// { dg-warning \"ignoring return value.*operator&\" \"\" { target c++11 } 0 }\n+// { dg-warning \"ignoring return value.*operator\\\\^\" \"\" { target c++11 } 0 }\n+// { dg-warning \"ignoring return value.*operator~\" \"\" { target c++11 } 0 }\ndiff --git a/libstdc++-v3/testsuite/ext/concept_checks.cc b/libstdc++-v3/testsuite/ext/concept_checks.cc\nindex abb43a4fadea..016600461bf2 100644\n--- a/libstdc++-v3/testsuite/ext/concept_checks.cc\n+++ b/libstdc++-v3/testsuite/ext/concept_checks.cc\n@@ -73,10 +73,10 @@ test2054( )\n   upper_bound(Index.begin(), Index.end(), SearchTerm, aComparison);\n   equal_range(Index.begin(), Index.end(), SearchTerm, aComparison);\n   binary_search(Index.begin(), Index.end(), SearchTerm, aComparison);\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 72 }\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 73 }\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 74 }\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 75 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 72 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 73 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 74 }\n+  // { dg-warning \"ignoring return value\" \"\" { target c++11 } 75 }\n }\n \n int main()\ndiff --git a/libstdc++-v3/testsuite/ext/is_heap/47709.cc b/libstdc++-v3/testsuite/ext/is_heap/47709.cc\nindex 50bbccaf7251..64966d60317d 100644\n--- a/libstdc++-v3/testsuite/ext/is_heap/47709.cc\n+++ b/libstdc++-v3/testsuite/ext/is_heap/47709.cc\n@@ -24,6 +24,5 @@\n void foo()\n {\n   std::vector<int> v;\n-  is_heap(v.begin(), v.end());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 27 }\n+  is_heap(v.begin(), v.end()); // { dg-warning \"ignoring return value\" }\n }\ndiff --git a/libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc b/libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc\nindex 3592d68bfcf6..31672481ad87 100644\n--- a/libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc\n+++ b/libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc\n@@ -23,6 +23,5 @@\n void foo()\n {\n   std::vector<int> v;\n-  is_sorted(v.begin(), v.end());\n-  // { dg-warning \"ignoring return value\" \"\" { target c++17 } 26 }\n+  is_sorted(v.begin(), v.end()); // { dg-warning \"ignoring return value\" }\n }\n","prefixes":["v1","1/1"]}