[Bug c++/79129] New: [7 Regression] ICE with -fdebug-types-section starting with r240578

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 18 13:24:00 GMT 2017


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

            Bug ID: 79129
           Summary: [7 Regression] ICE with -fdebug-types-section starting
                    with r240578
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

struct B
{
  struct A { void foo (int &); };
  A *foo ();
  ~B () { int a = 1; foo ()->foo (a); }
};
struct C { ~C (); B c; };
C::~C () {}

(reduced from libstdc++ ios_failure.cc) ICEs with -g -O2 -fdebug-types-section
and is not fixed by the PR78835 patch, resolve_addr doesn't recreate any kind
of die in that case, but break_out_comdat_types seems to incorrectly move the
B::A::foo DW_TAG_subprogram into the .debug_types unit where it can't be
referenced from the main CU.


More information about the Gcc-bugs mailing list