On Thu, 2020-01-09 at 14:20 +0800, Bin.Cheng wrote: > On Fri, Dec 20, 2019 at 3:10 PM Richard Biener > <richard.guent...@gmail.com> wrote: > > On December 20, 2019 2:13:47 AM GMT+01:00, "Bin.Cheng" > > <amker.ch...@gmail.com> wrote: > > > On Fri, Dec 13, 2019 at 11:26 AM bin.cheng > > > <bin.ch...@linux.alibaba.com> wrote: > > > > Hi, > > > > > > > > As reported in PR92926, constant ctor is shared translation unit wide > > > because of constexpr_call_table, > > > > however, during gimplify, the shared ctor could be modified. This > > > patch fixes the issue by unsharing > > > > it before modification in gimplify. A test is reduced from cppcoro > > > library and added. > > > > Bootstrap and test ongoing. Not sure if this is the correct fix > > > though, any comments? > > > Ping. Any comment? > > > > Looks reasonable to me. > Given PR92926 is marked as duplicate of PR93143, I updated test case > of the patch. > > Thanks, > bin > > 2019-12-13 Bin Cheng <bin.li...@linux.alibaba.com> > > PR tree-optimization/93143 > * gimplify.c (gimplify_init_constructor): Unshare ctor node before > clearing. > > gcc/testsuite > 2019-12-13 Bin Cheng <bin.li...@linux.alibaba.com> > > PR tree-optimization/93143 > * g++.dg/pr93143.C: New test. Is this still needed? I think Jason fixed the outstanding sharing problems a couple days ago.