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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:72809d6fe8e085440403ce125c51d01d6e7512b0

commit r10-7410-g72809d6fe8e085440403ce125c51d01d6e7512b0
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Fri Mar 27 10:00:47 2020 +0100

    c++: Handle COMPOUND_EXPRs in ocp_convert [PR94339]

    My recent change to get_narrower/warnings_for_convert_and_check broke
    the following testcase, warnings_for_convert_and_check is upset that
    expr is a COMPOUND_EXPR with INTEGER_CST at the rightmost operand, while
    result is a COMPOUND_EXPR with a NOP_EXPR of INTEGER_CST at the rightmost
    operand, it expects such conversions to be simplified.

    The easiest fix seems to be to handle COMPOUND_EXPRs in ocp_convert too,
    by converting the rightmost operand and recreating COMPOUND_EXPR(s) if that
    changed.

    The attr-copy-2.C change is a workaround for PR94346, where we now ICE on
    the testcase, while previously we'd ICE only if it contained a comma
    expression at the outer level rather than cast of a COMPOUND_EXPR to
    something.  I'll defer that to Martin.

    2020-03-27  Jakub Jelinek  <ja...@redhat.com>

            PR c++/94339
            * cvt.c (ocp_convert): Handle COMPOUND_EXPR by recursion on the
second
            operand and creating a new COMPOUND_EXPR if anything changed.

            * g++.dg/other/pr94339.C: New test.
            * g++.dg/ext/attr-copy-2.C: Comment out failing tests due to
PR94346.

Reply via email to