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

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

https://gcc.gnu.org/g:32ff6f4728e4021ff33fb1da6eb3bafe3ea5a15e

commit r16-2280-g32ff6f4728e4021ff33fb1da6eb3bafe3ea5a15e
Author: Jeremy Rifkin <jer...@rifkin.dev>
Date:   Tue Jul 15 18:17:01 2025 -0400

    c, c++: Fix unused result for empty types [PR82134]

    Hi,
    This fixes PR c/82134 which concerns gcc emitting an incorrect unused
    result diagnostic for empty types. This diagnostic is emitted from
    tree-cfg.cc because of a couple code paths which attempt to avoid
    copying empty types, resulting in GIMPLE that isn't using the returned
    value of a call. To fix this I've added suppress_warning in three locations
    and a corresponding check in do_warn_unused_result.

    Cheers,
    Jeremy

            PR c/82134

    gcc/cp/ChangeLog:

            * call.cc (build_call_a): Add suppress_warning
            * cp-gimplify.cc (cp_gimplify_expr): Add suppress_warning

    gcc/ChangeLog:

            * gimplify.cc (gimplify_modify_expr): Add suppress_warning
            * tree-cfg.cc (do_warn_unused_result): Check warning_suppressed_p

    gcc/testsuite/ChangeLog:

            * c-c++-common/attr-warn-unused-result-2.c: New test.

    Signed-off-by: Jeremy Rifkin <jer...@rifkin.dev>

Reply via email to