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

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

https://gcc.gnu.org/g:029d813ddf3595bfc93bfb4afad645dd033d21bf

commit r9-8889-g029d813ddf3595bfc93bfb4afad645dd033d21bf
Author: Haijian Zhang <z.zhanghaij...@huawei.com>
Date:   Wed Apr 29 10:23:11 2020 +0200

    pr94780.c fails with ICE on aarch64 [PR94820]

    This is a simple fix for pr94820.
    The PR was only fixed on i386, the same error was also reported on aarch64.
    This function, because it is sometimes called even outside of function
bodies, uses create_tmp_var_raw rather than create_tmp_var.
    But in order for that to work, when first referenced, the VAR_DECLs need to
appear in a TARGET_EXPR so that during gimplification
    the var gets the right DECL_CONTEXT and is added to local decls. Without
that, e.g. tree-nested.c ICEs on those.

    2020-04-29  Haijian Zhang  <z.zhanghaij...@huawei.com>

            PR target/94820
            * config/aarch64/aarch64-builtins.c
            (aarch64_atomic_assign_expand_fenv): Use TARGET_EXPR instead of
            MODIFY_EXPR for first assignment to fenv_cr, fenv_sr and
            new_fenv_var.

    (cherry picked from commit d81bc2af7d2700888e414eb5a322ff5f5b0df0bb)

Reply via email to