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.

Reply via email to