[Bug debug/66668] [6 regression] FAIL: gcc.dg/debug/dwarf2/stacked-qualified-types-3.c scan-assembler-times DIE \\([^\n]*\\) DW_TAG_(?:const|volatile|atomic|restrict)_type 8

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 19 11:44:00 GMT 2016


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |jason at gcc dot gnu.org,
                   |                            |mark at gcc dot gnu.org

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, if what we care about here is solely debug info size and canonicalization
of the order and amount of
DW_TAG_atomic_type/DW_TAG_restrict_type/DW_TAG_volatile_type/DW_TAG_const_type
DIEs for the same non-qualified type, we could perhaps just optimize it later,
in one of the numerous walks over the DIE tree.  Perhaps just if we see one of
these 4 DIEs, and the referenced DIE has the same parent, just move all the
qualified variants next to the underlying unqualified type, and then once they
are all moved there, figure out what qualified variants we have, determine how
to get fewest possible qualified DIEs for the non-qualified type, and build new
qualified DIEs if needed and adjust them, and for the ones that should be
replaced by others perhaps use a new die_struct bit to tell that all references
should be rewritten to refer to some other DIE (and unlink them from the tree),
then in another walk adjust all references to so marked DIEs.
Mark/Jason, does that sound reasonable to you?


More information about the Gcc-bugs mailing list