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


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;
                                          

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.