re PR middle-end/90501 (ICE: address taken, but ADDRESSABLE bit not set)
authorRichard Biener <rguenther@suse.de>
Thu, 5 Sep 2019 11:02:43 +0000 (11:02 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 5 Sep 2019 11:02:43 +0000 (11:02 +0000)
2019-09-05  Richard Biener  <rguenther@suse.de>

PR middle-end/90501
* tree-inline.c (declare_return_variable): Mark the return
slot as addressable after building an address of it.

From-SVN: r275401

gcc/ChangeLog
gcc/tree-inline.c

index cf11319265483b20811db794f10998df7a1fcec0..4f3d288a8801c8c26150123aa40042119ae61b8f 100644 (file)
@@ -1,3 +1,9 @@
+2019-09-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/90501
+       * tree-inline.c (declare_return_variable): Mark the return
+       slot as addressable after building an address of it.
+
 2019-09-05  Arnaud Charlet  <charlet@adacore.com>
 
        * doc/install.texi: Update and clarify requirements to build GNAT.
index 46bbec1acef60407fe9af66a302ac738e15df6e2..b9c1a3b145623ce34b0c8afce5d22d5e14007cb5 100644 (file)
@@ -3569,6 +3569,7 @@ declare_return_variable (copy_body_data *id, tree return_slot, tree modify_dest,
             taken by alias analysis.  */
          gcc_assert (TREE_CODE (return_slot) != SSA_NAME);
          var = return_slot_addr;
+         mark_addressable (return_slot);
        }
       else
        {