[Bug middle-end/89303] [7/8/9 Regression] memory leak with shared_ptr and enable_shared_from_this

2019-02-13 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89303

--- Comment #24 from Jakub Jelinek  ---
Author: jakub
Date: Wed Feb 13 13:32:00 2019
New Revision: 268843

URL: https://gcc.gnu.org/viewcvs?rev=268843=gcc=rev
Log:
2019-02-13  Jakub Jelinek  

PR middle-end/89303
* tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var
into pt->vars_contains_escaped_heap instead of setting
pt->vars_contains_escaped_heap to it.

2019-02-13  Jonathan Wakely  
Jakub Jelinek  

PR middle-end/89303
* g++.dg/torture/pr89303.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr89303.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-structalias.c

[Bug middle-end/89303] [7/8/9 Regression] memory leak with shared_ptr and enable_shared_from_this

2019-02-13 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89303

Jakub Jelinek  changed:

   What|Removed |Added

   Assignee|rguenth at gcc dot gnu.org |jakub at gcc dot gnu.org

--- Comment #23 from Jakub Jelinek  ---
Created attachment 45692
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45692=edit
gcc9-pr89303.patch

Full untested fix.

[Bug middle-end/89303] [7/8/9 Regression] memory leak with shared_ptr and enable_shared_from_this

2019-02-13 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89303

--- Comment #22 from Jakub Jelinek  ---
--- gcc/tree-ssa-structalias.c.jj   2019-01-01 12:37:18.738949011 +0100
+++ gcc/tree-ssa-structalias.c  2019-02-13 12:28:54.592256591 +0100
@@ -6412,7 +6412,7 @@ set_uids_in_ptset (bitmap into, bitmap f
  && bitmap_bit_p (escaped_vi->solution, i)))
{
  pt->vars_contains_escaped = true;
- pt->vars_contains_escaped_heap = vi->is_heap_var;
+ pt->vars_contains_escaped_heap |= vi->is_heap_var;
}

   if (vi->is_restrict_var)

fixes this for me (though, no idea what is that other variable in the points-to
set of _16).

[Bug middle-end/89303] [7/8/9 Regression] memory leak with shared_ptr and enable_shared_from_this

2019-02-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89303

Richard Biener  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #21 from Richard Biener  ---
Thanks for the analysis (where I agree with the P2), I'll have a look.

[Bug middle-end/89303] [7/8/9 Regression] memory leak with shared_ptr and enable_shared_from_this

2019-02-13 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89303

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P1  |P2
Summary|[8/9 Regression] memory |[7/8/9 Regression] memory
   |leak with shared_ptr and|leak with shared_ptr and
   |enable_shared_from_this |enable_shared_from_this