https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94826
--- Comment #3 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:c7137fcc7cbc1f1f14f9fed75adcc6bd8f1d418c commit r10-8051-gc7137fcc7cbc1f1f14f9fed75adcc6bd8f1d418c Author: Jakub Jelinek <ja...@redhat.com> Date: Wed Apr 29 15:55:39 2020 +0200 rs6000: Fix rs6000_atomic_assign_expand_fenv [PR94826] This is the rs6000 version of the earlier committed x86, aarch64 and arm fixes, as create_tmp_var_raw is used because the C FE can call this outside of function context, we need to make sure the first references to those VAR_DECLs are through a TARGET_EXPR, so that it gets gimple_add_tmp_var marked in whatever function it gets expanded in. Without that DECL_CONTEXT is NULL and the vars aren't added as local decls of the containing function. 2020-04-29 Jakub Jelinek <ja...@redhat.com> PR target/94826 * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): Use TARGET_EXPR instead of MODIFY_EXPR for first assignment to fenv_var, fenv_clear and old_fenv variables. For fenv_addr take address of TARGET_EXPR of fenv_var with void_node initializer. Formatting fixes.