https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115361

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by Jason Merrill
<ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:47b205b4dcca8be98bff96ea6b6f80682c65a0b1

commit r14-10727-g47b205b4dcca8be98bff96ea6b6f80682c65a0b1
Author: Jason Merrill <ja...@redhat.com>
Date:   Sun Sep 15 13:50:04 2024 +0200

    c++: -Wdangling-reference and empty class [PR115361]

    We can't have a dangling reference to an empty class unless it's
    specifically to that class or one of its bases.  This was giving a
    false positive on the _ExtractKey pattern in libstdc++ hashtable.h.

    This also adjusts the order of arguments to reference_related_p, which
    is relevant for empty classes (unlike scalars).

    Several of the classes in the testsuite needed to gain data members to
    continue to warn.

            PR c++/115361

    gcc/cp/ChangeLog:

            * call.cc (do_warn_dangling_reference): Check is_empty_class.

    gcc/testsuite/ChangeLog:

            * g++.dg/ext/attr-no-dangling6.C
            * g++.dg/ext/attr-no-dangling7.C
            * g++.dg/ext/attr-no-dangling8.C
            * g++.dg/ext/attr-no-dangling9.C
            * g++.dg/warn/Wdangling-reference1.C
            * g++.dg/warn/Wdangling-reference2.C
            * g++.dg/warn/Wdangling-reference3.C: Make classes non-empty.
            * g++.dg/warn/Wdangling-reference23.C: New test.

Reply via email to