On 01/15/2015 09:58 PM, Aldy Hernandez wrote:
The attached patch generates early DIEs for the C++
clones in the C++ parser.

This strikes me as an unnecessary abstraction violation.

+  /* Emit debug information for clones.  */
+  symtab_node *node;
+  FOR_EACH_DEFINED_SYMBOL (node)
+    if (DECL_ABSTRACT_ORIGIN (node->decl))
+      debug_hooks->early_global_decl (DECL_ABSTRACT_ORIGIN (node->decl));

And I note that you aren't even doing anything with the clone here, which suggests even more strongly that this is not what we want to do.

Now back to limbdo_die_list... My approach is to flush the limbo list,
generically, after the front-ends have finished, by adding a new
"early_finish" debug hook.  This gets rid of any permanence into LTO
time.  Then I flush it out again, if the middle end (or LTO, etc) has
added any limbo DIEs.

Can you remove the first flush and just do it in the second place?

Jason

Reply via email to