https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65515

--- Comment #8 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 24 Mar 2015, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65515
> 
> --- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> Created attachment 35124
>   --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35124&action=edit
> gcc5-pr65515.patch
> 
> Lightly tested fix.  Basically, most of DFS::DFS_write_tree is now moved into 
> a
> loop in DFS::DFS, and for most worklist items we see them twice, once with 
> NULL
> w.cstate (that will result in pushing further worklist items to the stack) and
> then again with non-NULL w.cstate (which is the part of DFS_write_tree at the
> end of function.
> The patch reorders the processing of trees embedded in a tree, we'll process
> the last inserted once before the earlier inserted ones for the same tree, not
> sure if that is a problem or not, but from the DFS POV they are all children 
> of
> the same tree.  If that would be a problem, it would be possible to rewrite
> DFS_write_tree_body to call DFS_write_tree in reverse order.  But I hope it
> isn't a problem.

This shouldn't be a problem indeed.

Reply via email to