]> git.ipfire.org Git - thirdparty/gcc.git/commit
c++: binding reference to comma expr [PR114561]
authorJason Merrill <jason@redhat.com>
Tue, 2 Apr 2024 14:52:28 +0000 (10:52 -0400)
committerJason Merrill <jason@redhat.com>
Wed, 1 May 2024 09:19:19 +0000 (05:19 -0400)
commit7bc362ea61e5bf552356aa862beb7845fe50a47c
tree0d408091eeb76460a9f9ad3f05d7eaf75d57a3a2
parent19821ce86afa0f4ce0d2312b16864c809e605be9
c++: binding reference to comma expr [PR114561]

We represent a reference binding where the referent type is more qualified
by a ck_ref_bind around a ck_qual.  We performed the ck_qual and then tried
to undo it with STRIP_NOPS, but that doesn't work if the conversion is
buried in COMPOUND_EXPR.  So instead let's avoid performing that fake
conversion in the first place.

PR c++/114561
PR c++/114562

gcc/cp/ChangeLog:

* call.cc (convert_like_internal): Avoid adding qualification
conversion in direct reference binding.

gcc/testsuite/ChangeLog:

* g++.dg/conversion/ref10.C: New test.
* g++.dg/conversion/ref11.C: New test.

(cherry picked from commit 5d7e9a35024f065b25f61747859c7cb7a770c92b)
gcc/cp/call.cc
gcc/testsuite/g++.dg/conversion/ref10.C [new file with mode: 0644]
gcc/testsuite/g++.dg/conversion/ref11.C [new file with mode: 0644]