diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-04-27 21:14:52 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-04-27 23:28:25 +0200 |
commit | 9b8e9006bb35641865358e2df4f6b3ae185b239a (patch) | |
tree | 4a34d42b7c650874c77a73a918b1a1f160b2d601 /gotools | |
parent | 5f1cd1da1a805c3d00332da45c3ab78a3931af63 (diff) | |
download | gcc-9b8e9006bb35641865358e2df4f6b3ae185b239a.zip gcc-9b8e9006bb35641865358e2df4f6b3ae185b239a.tar.gz gcc-9b8e9006bb35641865358e2df4f6b3ae185b239a.tar.bz2 |
x86: Fix up ix86_atomic_assign_expand_fenv [PR94780]
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-27 Jakub Jelinek <jakub@redhat.com>
PR target/94780
* config/i386/i386.c (ix86_atomic_assign_expand_fenv): Use
TARGET_EXPR instead of MODIFY_EXPR for first assignment to
sw_var, exceptions_var, mxcsr_orig_var and mxcsr_mod_var.
* gcc.dg/pr94780.c: New test.
Diffstat (limited to 'gotools')
0 files changed, 0 insertions, 0 deletions