Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


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;
                                        ^

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.