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 cf11319..4f3d288 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 46bbec1..b9c1a3b 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
        {