diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-01-04 14:58:30 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-01-04 14:58:30 +0100 |
commit | b5ca517cae507a6b6eb71a8da2d700d90f9522ae (patch) | |
tree | 2eefdf7ef8e8005e7aa45d21ff663139d975b418 /gcc/tree-inline.c | |
parent | a9fe2f76d7d3bbf941e7056b3eb9a4b5f0c45657 (diff) | |
download | gcc-b5ca517cae507a6b6eb71a8da2d700d90f9522ae.zip gcc-b5ca517cae507a6b6eb71a8da2d700d90f9522ae.tar.gz gcc-b5ca517cae507a6b6eb71a8da2d700d90f9522ae.tar.bz2 |
re PR gcov-profile/34609 (ICE with "-ftest-coverage" and references)
PR gcov-profile/34609
* tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
return_slot if result is TREE_ADDRESSABLE.
* g++.dg/gcov/gcov-6.C: New test.
From-SVN: r131322
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index a58dab0..8c5626d 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1,5 +1,5 @@ /* Tree inlining. - Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Contributed by Alexandre Oliva <aoliva@redhat.com> @@ -1719,6 +1719,7 @@ declare_return_variable (copy_body_data *id, tree return_slot, tree modify_dest, { var = return_slot; gcc_assert (TREE_CODE (var) != SSA_NAME); + TREE_ADDRESSABLE (var) |= TREE_ADDRESSABLE (result); } if ((TREE_CODE (TREE_TYPE (result)) == COMPLEX_TYPE || TREE_CODE (TREE_TYPE (result)) == VECTOR_TYPE) |