This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug debug/28063] New: [4.2 regression] Dwarf no longer uses merged strings for DW_AT_comp_dir


The patch in revision 113012 broke reference counting.  It adds this:

+      /* Set the string's refcount to 0 so that prune_unused_types_mark
+        accounts properly for it.  */
+      if (AT_class (a) == dw_val_class_str)
+       a->dw_attr_val.v.val_str->refcount = 0;

But something in this patch causes this to trigger for the strings attached to
the compilation unit DIE, and nothing ever increments them again. 
prune_unused_types_update_strings is never called for the compilation unit.  I
think this is because prune_unused_types_prune only calls it for children of
the current DIE.

Things were fine in 4.1.


-- 
           Summary: [4.2 regression] Dwarf no longer uses merged strings for
                    DW_AT_comp_dir
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: drow at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28063


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]