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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>:

https://gcc.gnu.org/g:13c0d052478bb45cc97869f5cc333f269aadb36f

commit r14-4858-g13c0d052478bb45cc97869f5cc333f269aadb36f
Author: Andrew Pinski <pins...@gmail.com>
Date:   Fri Oct 20 14:47:55 2023 -0700

    convert_to_complex vs invalid_conversion [PR111903]

    convert_to_complex when creating a COMPLEX_EXPR does
    not currently check if either the real or imag parts
    was not error_mark_node. This later on confuses the gimpilfier
    when there was a SAVE_EXPR wrapped around that COMPLEX_EXPR.
    The simple fix is after calling convert inside convert_to_complex_1,
    check that the either result was an error_operand and return
    an error_mark_node in that case.

    Bootstrapped and tested on x86_64-linux-gnu with no regressions.

            PR c/111903

    gcc/ChangeLog:

            * convert.cc (convert_to_complex_1): Return
            error_mark_node if either convert was an error
            when converting from a scalar.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/float16-8.c: New test.

Reply via email to