With the LODE environment, I can build the 32-bit binary without any errors. 
Recently, the 64-bit builds stopped working. For 64-bit I get the following 
error:
[build CXX] 
vcl/source/filter/jpeg/Exif.cxx/core/vcl/source/filter/igif/gifread.cxx(251): 
error C2220: warning treated as error - no 'object' file 
generated/core/vcl/source/filter/igif/gifread.cxx(251): warning C4334: '<<': 
result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift 
intended?)/core/vcl/source/filter/igif/gifread.cxx(462): warning C4334: '<<': 
result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift 
intended?)[build CXX] 
vcl/source/filter/jpeg/jpeg.cxx/core/solenv/gbuild/LinkTarget.mk:189: recipe 
for target '/core/workdir/CxxObject/vcl/source/filter/igif/gifread.o' 
failedmake[1]: *** [/core/workdir/CxxObject/vcl/source/filter/igif/gifread.o] 
Error 2make[1]: *** Waiting for unfinished jobs....Makefile:257: recipe for 
target 'build' failedmake: *** [build] Error 2
I tried to bisect it, and couldn't build anything as far back as I tried. Could 
this be from an update to my OS (Win 10) or MSVC?
The following incorrect/bad hack allowed me to build it:
diff --git a/oox/source/ole/vbainputstream.cxx 
b/oox/source/ole/vbainputstream.cxxindex 65eb91c..db87aca 100644--- 
a/oox/source/ole/vbainputstream.cxx+++ b/oox/source/ole/vbainputstream.cxx@@ 
-157,7 +157,7 @@ bool VbaInputStream::updateChunk()                     
sal_uInt16 nCopyToken = mpInStrm->readuInt16();                     nChunkPos = 
nChunkPos + 2;                     // update bit count used for offset/length 
in the token-                    while( static_cast< size_t >( 1 << nBitCount ) 
< maChunk.size() ) ++nBitCount;+                    while( static_cast< size_t 
>( 1i64 << nBitCount ) < maChunk.size() ) ++nBitCount;                     // 
extract length from lower (16-nBitCount) bits, plus 3                     
sal_uInt16 nLength = extractValue< sal_uInt16 >( nCopyToken, 0, 16 - nBitCount 
) + 3;                     // extract offset from high nBitCount bits, plus 
1diff --git a/vcl/source/filter/igif/gifread.cxx 
b/vcl/source/filter/igif/gifread.cxxindex 01060ab..ba3a2fc 100644--- 
a/vcl/source/filter/igif/gifread.cxx+++ b/vcl/source/filter/igif/gifread.cxx@@ 
-248,7 +248,7 @@ bool GIFReader::ReadGlobalHeader()                 
bGlobalPalette = ( nRF & 0x80 );                  if( bGlobalPalette )-         
           ReadPaletteEntries( &aGPalette, 1 << ( ( nRF & 7 ) + 1 ) );+         
           ReadPaletteEntries( &aGPalette, 1i64 << ( ( nRF & 7 ) + 1 ) );       
          else                     nBackgroundColor = 0; @@ -459,7 +459,7 @@ 
bool GIFReader::ReadLocalHeader()         if( nFlags & 0x80 )         {         
    pPal = &aLPalette;-            ReadPaletteEntries( pPal, 1 << ( (nFlags & 7 
) + 1 ) );+            ReadPaletteEntries( pPal, 1i64 << ( (nFlags & 7 ) + 1 ) 
);         }         else             pPal = &aGPalette;
                                          
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to