Performance samples for LibreOffice ...

Jan Hubicka hubicka at ucw.cz
Tue Sep 9 16:20:28 PDT 2014


Hello,
I finally had chance to put the data together:
http://hubicka.blogspot.ca/2014/09/linktime-optimization-in-gcc-part-3.html
any comments are welcome.

> On Fri, Aug 22, 2014 at 09:06:24PM +0200, Jan Hubicka wrote:
> 
> > Another one I noticed :)
> > /aux/hubicka/libreoffice/connectivity/source/inc/dbase/DIndex.hxx:41:15: warning: type �struct ODbaseIndex� violates one definition rule [-Wodr]
> >          class ODbaseIndex : public ODbaseIndex_BASE
> >                ^
> > /aux/hubicka/libreoffice/connectivity/source/inc/dbase/DIndex.hxx:41:15: note: a different type is defined in another translation unit
> >          class ODbaseIndex : public ODbaseIndex_BASE
> >                ^
> > /aux/hubicka/libreoffice/connectivity/source/inc/dbase/DIndex.hxx:74:29: note: the first difference of corresponding definitions is field �m_aHeader�
> >              NDXHeader       m_aHeader;
> >                              ^
> > /aux/hubicka/libreoffice/connectivity/source/inc/dbase/DIndex.hxx:74:29: note: a field of same name but different type is defined in another translation unit
> >              NDXHeader       m_aHeader;
> >                              ^
> > /aux/hubicka/libreoffice/connectivity/source/inc/dbase/DIndex.hxx:55:20: note: type �struct NDXHeader� should match type �struct NDXHeader�
> >              struct NDXHeader
> >                     ^
> > /aux/hubicka/libreoffice/connectivity/source/inc/dbase/DIndex.hxx:55:20: note: the incompatible type is defined here
> >              struct NDXHeader
> > 
> > Thisone will be harder to track - I can get better diagnostic with ODR merging patch once I get around updating it for mainline
> 
> This looks like it is saying that there are two different
> (incompatible) definitions of type
> connectivity::dbase::ODbaseIndex::NDXHeader, but "git grep NDXHeader"
> finds only one.
> 
> Care to explain the problem? Thanks.

The problem here will be most probably cause by difference in one of types NDXHeader is built from.
(or by #define somewhere earlier that makes it to diverge)

Currently GCC report just topelvel type difference, I have patch for the ODR merging that reports
the inner type too. I will try to update it for mainline today or tomorrow and get back to you.

Honza
> 
> -- 
> Lionel


More information about the LibreOffice mailing list