]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/7279 (NRV related miscompilation)
authorJason Merrill <jason@redhat.com>
Thu, 11 Jul 2002 21:13:08 +0000 (17:13 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 11 Jul 2002 21:13:08 +0000 (17:13 -0400)
        PR c++/7279
        * tree.c (cp_copy_res_decl_for_inlining): Also copy
        TREE_ADDRESSABLE.

From-SVN: r55406

gcc/cp/ChangeLog
gcc/cp/tree.c

index ec6bea21db98bf417472c0eaa016a730fea7e58d..21f08875d8eff230abfde640735ab98701b6bf46 100644 (file)
@@ -1,3 +1,9 @@
+2002-07-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/7279
+       * tree.c (cp_copy_res_decl_for_inlining): Also copy
+       TREE_ADDRESSABLE.
+
 2002-07-10  Jason Merrill  <jason@redhat.com>
 
        PR c++/6255
index fc2b8e285f08731dd1aad659461d6b162012402b..748ab9a0b9ad526a354ddf4635ee82a76c35ecb3 100644 (file)
@@ -2284,7 +2284,11 @@ cp_copy_res_decl_for_inlining (result, fn, caller, decl_map_,
          DECL_SOURCE_FILE (var) = DECL_SOURCE_FILE (nrv);
          DECL_SOURCE_LINE (var) = DECL_SOURCE_LINE (nrv);
          DECL_ABSTRACT_ORIGIN (var) = DECL_ORIGIN (nrv);
+         /* Don't lose initialization info.  */
          DECL_INITIAL (var) = DECL_INITIAL (nrv);
+         /* Don't forget that it needs to go in the stack.  */
+         TREE_ADDRESSABLE (var) = TREE_ADDRESSABLE (nrv);
+
          splay_tree_insert (decl_map,
                             (splay_tree_key) nrv,
                             (splay_tree_value) var);