> On 10/09/14 07:45, Jan Hubicka wrote:
> 
> > Yep, I am curious too.  I just got my trees updated after vacation so 
> > hopefully
> > I will get there soon (for sure libreoffice will trigger few GCC bugs first)
> 
> yes we do have a certain reputation for that...thanks to Miklos now you
> can even get the t-shirt for it:
> 
> http://vmiklos.hu/blog/so-many-bugs.html

:) Lovely
After all I needed to fix only two bugs to get LO build with mainline LTO again.

Anyway those are warning I currently get with ODR type merging.  The first 
three are
quite puzzling - the type layout differs, but by abstract field so I am unable 
to print
out any resonable message. This may suggest difference in virtual inheritance 
or someting like
that (or just plain bug in my code comparing types).  I will dig deeper into it 
tomorrow.

Most of the later cases seems real.

/aux/hubicka/libreoffice/i18npool/inc/nativenumbersupplier.hxx:33:0: warning: 
type ‘struct NativeNumberSupplier’ violates one definition rule [-Wodr]
 class NativeNumberSupplier : public cppu::WeakImplHelper2
 ^
/aux/hubicka/libreoffice/50-lto/workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/i18n/NativeNumberSupplier.hpp:29:0:
 note: a type with different memory representation is defined in another 
translation unit
 class NativeNumberSupplier {
 ^
/aux/hubicka/libreoffice/50-lto/workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/i18n/OrdinalSuffix.hpp:29:0:
 warning: type ‘struct OrdinalSuffix’ violates one definition rule [-Wodr]
 class OrdinalSuffix {
 ^
/aux/hubicka/libreoffice/i18npool/inc/ordinalsuffix.hxx:28:0: note: a type with 
different memory representation is defined in another translation unit
 class OrdinalSuffix : public cppu::WeakImplHelper2
 ^
/aux/hubicka/libreoffice/50-lto/workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/i18n/TextConversion.hpp:29:0:
 warning: type ‘struct TextConversion’ violates one definition rule [-Wodr]
 class TextConversion {
 ^
/aux/hubicka/libreoffice/i18npool/inc/textconversion.hxx:36:0: note: a type 
with different memory representation is defined in another translation unit
 class TextConversion: public cppu::WeakImplHelper2
 ^
/aux/hubicka/libreoffice/i18npool/inc/transliteration_Ignore.hxx:36:7: warning: 
type ‘struct transliteration_Ignore’ violates one definition rule [-Wodr]
 class transliteration_Ignore : public transliteration_commonclass
       ^
/aux/hubicka/libreoffice/i18npool/inc/transliteration_Ignore.hxx:36:7: note: a 
different type is defined in another translation unit
 class transliteration_Ignore : public transliteration_commonclass
       ^
/aux/hubicka/libreoffice/i18npool/inc/transliteration_Ignore.hxx:74:24: note: 
the first difference of corresponding definitions is field ‘map’
         const Mapping *map;
                        ^
/aux/hubicka/libreoffice/i18npool/inc/transliteration_Ignore.hxx:74:24: note: a 
field of same name but different type is defined in another translation unit
         const Mapping *map;
                        ^
/aux/hubicka/libreoffice/include/i18nutil/casefolding.hxx:51:0: note: type 
‘const struct Mapping’ should match type ‘const struct Mapping’ but is defined 
in different namespace  
 struct Mapping
 ^
/aux/hubicka/libreoffice/i18npool/inc/transliteration_Ignore.hxx:32:3: note: 
the incompatible type is defined here
 } Mapping;
   ^
/aux/hubicka/libreoffice/xmloff/source/core/XMLEmbeddedObjectImportContext.cxx:44:0:
 warning: type ‘struct XMLServiceMapEntry_Impl’ violates one definition rule 
[-Wodr]
 struct XMLServiceMapEntry_Impl
 ^
/aux/hubicka/libreoffice/xmloff/source/core/xmlexp.cxx:118:0: note: a different 
type is defined in another translation unit
 struct XMLServiceMapEntry_Impl
 ^
/aux/hubicka/libreoffice/xmloff/source/core/XMLEmbeddedObjectImportContext.cxx:46:0:
 note: the first difference of corresponding definitions is field ‘eClass’
     enum XMLTokenEnum eClass;
 ^
/aux/hubicka/libreoffice/xmloff/source/core/xmlexp.cxx:120:0: note: a field 
with different name is defined in another translation unit
     const sal_Char *sModelService;
 ^
/aux/hubicka/libreoffice/svx/source/form/tabwin.cxx:76:0: warning: type ‘struct 
ColumnInfo’ violates one definition rule [-Wodr]
 struct ColumnInfo
 ^
/aux/hubicka/libreoffice/xmloff/source/table/XMLTableImport.cxx:54:0: note: a 
different type is defined in another translation unit
 struct ColumnInfo
 ^
/aux/hubicka/libreoffice/svx/source/form/tabwin.cxx:78:0: note: the first 
difference of corresponding definitions is field ‘sColumnName’
     OUString sColumnName;
 ^
/aux/hubicka/libreoffice/xmloff/source/table/XMLTableImport.cxx:56:0: note: a 
field with different name is defined in another translation unit
     OUString msStyleName;
 ^
/aux/hubicka/libreoffice/xmloff/source/text/XMLIndexTemplateContext.hxx:42:0: 
warning: type of ‘aSvLevelNameTOCMap’ does not match original declaration
 extern const SvXMLEnumMapEntry aSvLevelNameTOCMap[];
 ^
/aux/hubicka/libreoffice/xmloff/source/text/XMLIndexTemplateContext.hxx:42:0: 
warning: type of ‘aSvLevelNameTOCMap’ does not match original declaration
/aux/hubicka/libreoffice/xmloff/source/text/XMLIndexTemplateContext.cxx:342:0: 
note: previously declared here
 const SvXMLEnumMapEntry aSvLevelNameTOCMap[] =
 ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:28:5:
 warning: type of ‘OpenOffice_sent_brk’ does not match original declaration
     OpenOffice_sent_brk[];
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/sent_brk.c:10:3:
 note: previously declared here
 } OpenOffice_sent_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:27:5:
 warning: type of ‘OpenOffice_line_brk’ does not match original declaration
     OpenOffice_line_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/line_brk.c:10:3:
 note: previously declared here
 } OpenOffice_line_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:26:5:
 warning: type of ‘OpenOffice_edit_word_hu_brk’ does not match original 
declaration
     OpenOffice_edit_word_hu_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/edit_word_hu_brk.c:10:3:
 note: previously declared here
 } OpenOffice_edit_word_hu_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:25:5:
 warning: type of ‘OpenOffice_edit_word_he_brk’ does not match original 
declaration
     OpenOffice_edit_word_he_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/edit_word_he_brk.c:10:3:
 note: previously declared here
 } OpenOffice_edit_word_he_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:24:5:
 warning: type of ‘OpenOffice_edit_word_brk’ does not match original declaration
     OpenOffice_edit_word_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/edit_word_brk.c:10:3:
 note: previously declared here
 } OpenOffice_edit_word_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:23:5:
 warning: type of ‘OpenOffice_dict_word_prepostdash_brk’ does not match 
original declaration
     OpenOffice_dict_word_prepostdash_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/dict_word_prepostdash_brk.c:10:3:
 note: previously declared here
 } OpenOffice_dict_word_prepostdash_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:22:5:
 warning: type of ‘OpenOffice_dict_word_nodash_brk’ does not match original 
declaration
     OpenOffice_dict_word_nodash_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/dict_word_nodash_brk.c:10:3:
 note: previously declared here
 } OpenOffice_dict_word_nodash_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:21:5:
 warning: type of ‘OpenOffice_dict_word_hu_brk’ does not match original 
declaration
     OpenOffice_dict_word_hu_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/dict_word_hu_brk.c:10:3:
 note: previously declared here
 } OpenOffice_dict_word_hu_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:20:5:
 warning: type of ‘OpenOffice_dict_word_he_brk’ does not match original 
declaration
     OpenOffice_dict_word_he_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/dict_word_he_brk.c:10:3:
 note: previously declared here
 } OpenOffice_dict_word_he_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:19:5:
 warning: type of ‘OpenOffice_dict_word_fi_brk’ does not match original 
declaration
     OpenOffice_dict_word_fi_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/dict_word_fi_brk.c:10:3:
 note: previously declared here
 } OpenOffice_dict_word_fi_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:18:5:
 warning: type of ‘OpenOffice_dict_word_brk’ does not match original declaration
     OpenOffice_dict_word_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/dict_word_brk.c:10:3:
 note: previously declared here
 } OpenOffice_dict_word_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:17:5:
 warning: type of ‘OpenOffice_count_word_fi_brk’ does not match original 
declaration
     OpenOffice_count_word_fi_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/count_word_fi_brk.c:10:3:
 note: previously declared here
 } OpenOffice_count_word_fi_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:16:5:
 warning: type of ‘OpenOffice_count_word_brk’ does not match original 
declaration
     OpenOffice_count_word_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/count_word_brk.c:10:3:
 note: previously declared here
 } OpenOffice_count_word_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:15:5:
 warning: type of ‘OpenOffice_char_in_brk’ does not match original declaration
     OpenOffice_char_in_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/char_in_brk.c:10:3:
 note: previously declared here
 } OpenOffice_char_in_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:14:5:
 warning: type of ‘OpenOffice_char_brk’ does not match original declaration
     OpenOffice_char_brk[],
     ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/char_brk.c:10:3:
 note: previously declared here
 } OpenOffice_char_brk={ 0.0, {
   ^
/aux/hubicka/libreoffice/i18npool/source/breakiterator/breakiterator_unicode.cxx:34:0:
 warning: type of ‘OpenOffice_dat’ does not match original declaration
 extern const char OpenOffice_dat[];
 ^
/aux/hubicka/libreoffice/50-lto/workdir/CustomTarget/i18npool/breakiterator/OpenOffice_dat.c:40:13:
 note: previously declared here
 } U_EXPORT2 OpenOffice_dat = {
             ^
/aux/hubicka/libreoffice/include/vcl/font.hxx:42:21: warning: type ‘struct 
Font’ violates one definition rule [-Wodr]
 class VCL_DLLPUBLIC Font
                     ^
/aux/hubicka/libreoffice/50-lto/workdir/UnpackedTarball/libgltf/src/Font.h:15:7:
 note: a different type is defined in another translation unit
 class Font
       ^
/aux/hubicka/libreoffice/include/vcl/font.hxx:45:25: note: the first difference 
of corresponding definitions is field ‘mpImplFont’
     Impl_Font*          mpImplFont;
                         ^
/aux/hubicka/libreoffice/50-lto/workdir/UnpackedTarball/libgltf/src/Font.h:34:27:
 note: a field with different name is defined in another translation unit
  Texture mCharTextures[256];
                           ^
/aux/hubicka/libreoffice/xmloff/source/core/XMLEmbeddedObjectImportContext.cxx:44:8:
 warning: type ‘struct XMLServiceMapEntry_Impl’ violates one definition rule 
[-Wodr]
 struct XMLServiceMapEntry_Impl
        ^
/aux/hubicka/libreoffice/xmloff/source/core/xmlexp.cxx:118:8: note: a different 
type is defined in another translation unit
 struct XMLServiceMapEntry_Impl
        ^
/aux/hubicka/libreoffice/xmloff/source/core/XMLEmbeddedObjectImportContext.cxx:46:23:
 note: the first difference of corresponding definitions is field ‘eClass’
     enum XMLTokenEnum eClass;
                       ^
/aux/hubicka/libreoffice/xmloff/source/core/xmlexp.cxx:120:21: note: a field 
with different name is defined in another translation unit
     const sal_Char *sModelService;
                     ^
/aux/hubicka/libreoffice/xmloff/source/text/XMLIndexTemplateContext.hxx:42:0: 
warning: type of ‘aSvLevelNameTOCMap’ does not match original declaration
 extern const SvXMLEnumMapEntry aSvLevelNameTOCMap[];
 ^
/aux/hubicka/libreoffice/xmloff/source/text/XMLIndexTemplateContext.hxx:42:0: 
warning: type of ‘aSvLevelNameTOCMap’ does not match original declaration
/aux/hubicka/libreoffice/xmloff/source/text/XMLIndexTemplateContext.cxx:342:25: 
note: previously declared here
 const SvXMLEnumMapEntry aSvLevelNameTOCMap[] =
                         ^
/aux/hubicka/libreoffice/sc/source/ui/Accessibility/AccessibleDocument.cxx:1387:8:
 warning: type ‘struct ScVisAreaChanged’ violates one definition rule [-Wodr]
 struct ScVisAreaChanged
        ^
/aux/hubicka/libreoffice/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx:859:0:
 note: a different type is defined in another translation unit
 struct ScVisAreaChanged
 ^
/aux/hubicka/libreoffice/sc/source/ui/Accessibility/AccessibleDocument.cxx:1389:27:
 note: the first difference of corresponding definitions is field ‘mpAccDoc’
     ScAccessibleDocument* mpAccDoc;
                           ^
/aux/hubicka/libreoffice/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx:861:39:
 note: a field with different name is defined in another translation unit
     const ScIAccessibleViewForwarder* mpViewForwarder;
                                       ^
/aux/hubicka/libreoffice/sc/source/ui/vba/vbaaxes.cxx:42:7: warning: type 
‘struct EnumWrapper’ violates one definition rule [-Wodr]
 class EnumWrapper : public EnumerationHelper_BASE
       ^
/aux/hubicka/libreoffice/sc/source/ui/vba/vbaformatconditions.cxx:86:7: note: a 
different type is defined in another translation unit
 class EnumWrapper : public EnumerationHelper_BASE
       ^
/aux/hubicka/libreoffice/sc/source/ui/vba/vbaaxes.cxx:45:19: note: the first 
difference of corresponding definitions is field ‘nIndex’
         sal_Int32 nIndex;
                   ^
/aux/hubicka/libreoffice/sc/source/ui/vba/vbaformatconditions.cxx:89:40: note: 
a field with different name is defined in another translation unit
         uno::Reference<excel::XRange > m_xParentRange;
                                        ^
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to