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 lto/84805] [8 Regression] ICE in get_odr_type, at ipa-devirt.c:2096 since r258133


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

--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
We have an ordering issue because of forward declarations:

class XclImpRoot : XclRoot {};
class XclImpColRowSettings : XclImpRoot {};

register_odr_type called on XclImpRoot causes get_odr_type to assign the id
number to XclImpColRowSettings before XclImpRoot because the base class:

class XclRoot {
public:
  virtual ~XclRoot();
  XclRootData &mrData;
};

has an XclRootData field which ultimately references:

struct RootData {
  BiffTyp eDateiTyp;
  ExtSheetBuffer *pExtSheetBuff;
  SharedFormulaBuffer *pShrfmlaBuff;
  ExtNameBuff *pExtNameBuff;
  ExcelToSc *pFmlaConverter;
  XclImpColRowSettings *pColRowBuff;
};

which contains a pointer to XclImpColRowSettings.

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