[gcc r13-3607] libstdc++: Ignore -Wignored-qualifiers warning in <variant>

Jonathan Wakely redi@gcc.gnu.org
Wed Nov 2 12:56:14 GMT 2022


https://gcc.gnu.org/g:cf35818a390e7cb4b1a4fa70c243ede59d6cbbac

commit r13-3607-gcf35818a390e7cb4b1a4fa70c243ede59d6cbbac
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Nov 1 11:17:35 2022 +0000

    libstdc++: Ignore -Wignored-qualifiers warning in <variant>
    
    The warning is wrong here, the qualifier serves a purpose and is not
    ignored (c.f. PR c++/107492).
    
    libstdc++-v3/ChangeLog:
    
            * include/std/variant (__variant::_Multi_array::__untag_result):
            Use pragma to suppress warning.

Diff:
---
 libstdc++-v3/include/std/variant | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant
index c234b54421e..ba8492b6985 100644
--- a/libstdc++-v3/include/std/variant
+++ b/libstdc++-v3/include/std/variant
@@ -831,10 +831,13 @@ namespace __variant
 	: false_type
 	{ using element_type = _Tp; };
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wignored-qualifiers"
       template <typename... _Args>
 	struct __untag_result<const void(*)(_Args...)>
 	: false_type
 	{ using element_type = void(*)(_Args...); };
+#pragma GCC diagnostic pop
 
       template <typename... _Args>
 	struct __untag_result<__variant_cookie(*)(_Args...)>


More information about the Libstdc++-cvs mailing list