diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-family/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c-family/c-common.c | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 59810b8..b005b81 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,10 @@ +2019-05-15 Richard Biener <rguenther@suse.de> + + PR c/90474 + * c-common.c (c_common_mark_addressable_vec): Also mark + a COMPOUND_LITERAL_EXPR_DECL addressable similar to + c_mark_addressable. + 2019-05-06 Nathan Sidwell <nathan@acm.org> * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps. diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 3c2f7a9..37d10cc 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -6554,6 +6554,8 @@ c_common_mark_addressable_vec (tree t) return; if (!VAR_P (t) || !DECL_HARD_REGISTER (t)) TREE_ADDRESSABLE (t) = 1; + if (TREE_CODE (t) == COMPOUND_LITERAL_EXPR) + TREE_ADDRESSABLE (COMPOUND_LITERAL_EXPR_DECL (t)) = 1; } |