c++: bogus warning with value init of const pmf [PR92752]
authorPatrick Palka <ppalka@redhat.com>
Fri, 28 Jan 2022 20:41:15 +0000 (15:41 -0500)
committerPatrick Palka <ppalka@redhat.com>
Fri, 28 Jan 2022 20:41:15 +0000 (15:41 -0500)
commite971990cbda091b4caf5e1a5bded5121068934e4
tree3a330d67c266772bd86aba928f7fe768ddd5379b
parent3a5fdf986dc6ebb6e244087b462132590ad0a184
c++: bogus warning with value init of const pmf [PR92752]

Here we're emitting a -Wignored-qualifiers warning for an intermediate
compiler-generated cast of nullptr to 'method-type* const' as part of
value initialization of a const pmf.  This patch suppresses the warning
by instead casting to the corresponding unqualified type.

PR c++/92752

gcc/cp/ChangeLog:

* typeck.cc (build_ptrmemfunc): Cast a nullptr constant to the
unqualified pointer type not the qualified one.

gcc/testsuite/ChangeLog:

* g++.dg/warn/Wignored-qualifiers2.C: New test.

Co-authored-by: Jason Merrill <jason@redhat.com>
gcc/cp/typeck.cc
gcc/testsuite/g++.dg/warn/Wignored-qualifiers2.C [new file with mode: 0644]