Richard Biener <richard.guent...@gmail.com> writes: > Looks good to me. I wonder if this will also help Aldyh...
Hmmm, I ran into something very similar. We solved it on the debug-early branch by avoiding recursively setting DECL_ABSTRACT_P if the parent was *not* DECL_ABSTRACT_P. Like this: @@ -18274,7 +18312,8 @@ dwarf2out_abstract_function (tree decl) current_function_decl = decl; was_abstract = DECL_ABSTRACT_P (decl); - set_decl_abstract_flags (decl, 1); + if (!was_abstract) + set_decl_abstract_flags (decl, 1); dwarf2out_decl (decl); if (! was_abstract) Does this help, or do you need to keep track of everything you changed? I'll say it again, I think setting tree flags behind everyone's back as we call dwarf2out_decl() _again_ seems like a broken design. But I think Jason mentioned that creating new tree instances for the different variants was a no-go. Anyways... Aldy