Apache OpenOffice (AOO) Bugzilla – Issue 71451
SRC680_m193: binfilter and 64bits...
Last modified: 2006-12-19 13:46:07 UTC
Hi, module binfilter fails to build on x86_64 while compiling binfilter/bf_sw/source/filter/excel/sw_exctools.cxx: ../../../../inc/bf_sw/doc.hxx: In member function 'sal_Bool binfilter::SwDoc::DeleteRowCol(const binfilter::SwSelBoxes&)': ../../../../inc/bf_sw/doc.hxx:1444: warning: converting to non-pointer type 'sal_Bool' from NULL /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx: At global scope: /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1170: error: prototype for 'UINT32 binfilter::XF_Buffer::GetNumFormat(UINT16)' does not match any in class 'binfilter::XF_Buffer' /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/excxfbuf.hxx:211: error: candidate is: ULONG binfilter::XF_Buffer::GetNumFormat(USHORT) /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1170: error: 'UINT32 binfilter::XF_Buffer::GetNumFormat(UINT16)' cannot be overloaded /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/excxfbuf.hxx:211: error: with 'ULONG binfilter::XF_Buffer::GetNumFormat(USHORT)' /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx: In constructor 'binfilter::ValueFormBuffer::ValueFormBuffer(UINT16)': /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1799: error: cannot convert 'UINT32*' to 'ULONG*' in assignment /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx: In member function 'void binfilter::ValueFormBuffer::_NewValueFormatX(String&)': /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1835: error: no matching function for call to 'SvNumberFormatter::PutandConvertEntry(String&, USHORT&, INT16&, long unsigned int&, int, LanguageType&)' /data/oo/BuildDir/ooo_SRC680_m193_src/solver/680/unxlngx6.pro/inc/svtools/zforlist.hxx:433: note: candidates are: BOOL SvNumberFormatter::PutandConvertEntry(String&, USHORT&, short int&, sal_uInt32&, LanguageType, LanguageType) /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx: In member function 'void binfilter::ValueFormBuffer::_NewValueFormat5(String&)': /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1851: error: no matching function for call to 'SvNumberFormatter::PutandConvertEntry(String&, USHORT&, INT16&, long unsigned int&, int, LanguageType&)' /data/oo/BuildDir/ooo_SRC680_m193_src/solver/680/unxlngx6.pro/inc/svtools/zforlist.hxx:433: note: candidates are: BOOL SvNumberFormatter::PutandConvertEntry(String&, USHORT&, short int&, sal_uInt32&, LanguageType, LanguageType) /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx: At global scope: /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1869: error: prototype for 'UINT32 binfilter::ValueFormBuffer::__GetValueFormat(UINT16)' does not match any in class 'binfilter::ValueFormBuffer' /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/excvfbff.hxx:79: error: candidate is: ULONG binfilter::ValueFormBuffer::__GetValueFormat(USHORT) /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1869: error: 'UINT32 binfilter::ValueFormBuffer::__GetValueFormat(UINT16)' cannot be overloaded /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/excvfbff.hxx:79: error: with 'ULONG binfilter::ValueFormBuffer::__GetValueFormat(USHORT)' /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1876: error: prototype for 'UINT32 binfilter::ValueFormBuffer::_GetValueFormatX5(UINT16)' does not match any in class 'binfilter::ValueFormBuffer' /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/excvfbff.hxx:83: error: candidate is: ULONG binfilter::ValueFormBuffer::_GetValueFormatX5(USHORT) /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1876: error: 'UINT32 binfilter::ValueFormBuffer::_GetValueFormatX5(UINT16)' cannot be overloaded /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/excvfbff.hxx:83: error: with 'ULONG binfilter::ValueFormBuffer::_GetValueFormatX5(USHORT)' /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx: In member function 'void binfilter::ValueFormBuffer::Init()': /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1907: error: no matching function for call to 'SvNumberFormatter::PutEntry(String&, USHORT&, INT16&, ULONG&, LanguageType&)' /data/oo/BuildDir/ooo_SRC680_m193_src/solver/680/unxlngx6.pro/inc/svtools/zforlist.hxx:426: note: candidates are: BOOL SvNumberFormatter::PutEntry(String&, USHORT&, short int&, sal_uInt32&, LanguageType) /data/oo/BuildDir/ooo_SRC680_m193_src/binfilter/bf_sw/source/filter/excel/sw_exctools.cxx:1918: error: no matching function for call to 'SvNumberFormatter::PutandConvertEntry(String&, USHORT&, INT16&, long unsigned int&, int, LanguageType&)' /data/oo/BuildDir/ooo_SRC680_m193_src/solver/680/unxlngx6.pro/inc/svtools/zforlist.hxx:433: note: candidates are: BOOL SvNumberFormatter::PutandConvertEntry(String&, USHORT&, short int&, sal_uInt32&, LanguageType, LanguageType) dmake: Error code 1, while making '../../../../unxlngx6.pro/slo/sw_exctools.obj'
@os: looks like there is an 64bit issue with the old excel filters which have been moved from sw to binfilter.
.
Target changed
Created attachment 40579 [details] Proposed patch
->pjanik: Could you please check the patch. I don't have access to a unxlngx6 environment.
sure, will do later today - I have access to only one such machine and it is busy building now.
os: in addition to your patch, this is needed: binfilter/bf_sw/source/filter/excel/excxfbuf.hxx - ULONG GetNumFormat( USHORT nIndex ); + sal_uInt32 GetNumFormat( USHORT nIndex ); With this and your patch, module binfilter build continued and need at least this more: binfilter/bf_sw/source/filter/w4w/sw_w4wpar1.cxx @@ -1918,7 +1918,7 @@ // tell the Formatter about the new entry UINT16 nCheckPos = 0; INT16 nType = NUMBERFORMAT_DEFINED; - ULONG nKey; + sal_uInt32 nKey; There are also some issues with sw3io_ConvertFromOldField. Grep for its usage and the type of next to last argument (rFmt) - it is UINT32 & and sometimes ULONG &. UNIT32 is 32bit on amd64, ULONG is 64bit on amd64. I think I can provide you access to such box if you want to.
Complete patch attached, please review.
Created attachment 40823 [details] Complete patch for review
Looks good to me. Do you have a cws to integrate it or should I find/create one?
os: we do not have one right now. Can you please add it somewhere yourself? Thank you.
Integrated into cws os90
Reassigned for verification. ->mru: This should not change anything. The changes are in the filters that load exel, starwriter dos and word4word formats into the Writer.
Verified in CWS os90.
Checked in 680m197.