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

            Bug ID: 115167
           Summary: CFG edge visualization to path-printing bootstrap
                    failure
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dje at gcc dot gnu.org
                CC: dmalcolm at gcc dot gnu.org
  Target Milestone: ---
            Target: powerpc-ibm-aix*

Unfortunately r15-636-g770657d02c986c causes a bootstrap failure on AIX when
building f951 in stage2.  cc1 and cc1plus link successfully. There doesn't seem
to be a similar failure for powerpc64-linux BE or LE.

The failure is

ld: 0711-317 ERROR: Undefined symbol: _ZTV29range_label_for_type_mismatch
ld: 0711-317 ERROR: Undefined symbol:
._ZNK29range_label_for_type_mismatch8get_textEj

which corresponds to

vtable for range_label_for_type_mismatch
range_label_for_type_mismatch::get_text(unsigned int) const

I suspect that something is not being explicitly instantiated, which is running
afoul of the AIX linker.

Somehow your patch is causing the f951 compiler to reference these additional,
undefined symbols.  I suspect that they also are undefined for Linux targets,
but the linker ignores the error and nothing is amiss if the symbols never are
called.

It seems that the patch has created a reference to get_text() that only has
been instantiated for the C languages:
./c/c-objc-common.cc:range_label_for_type_mismatch::get_text (unsigned
/*range_idx*/) const
./cp/error.cc:range_label_for_type_mismatch::get_text (unsigned /*range_idx*/)
const

Reply via email to