Closed cgiesselink closed 8 months ago
Adding to this request. When compiling with C++11 I get a bunch of warnings of zero as null pointer. Please add something like:
#if !defined(__cplusplus) || __cplusplus < 201100L
#define nullptr NULL
#endif
And replace NULL
with nullptr
throughout the code.
Chiming in here, because I get lots of errors with x86_64 builds on current MSVC with default options (including /W3
) too:
lodepng.cpp(712,54): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
lodepng.cpp(730,35): warning C4267: '=': conversion from 'size_t' to 'unsigned short', possible loss of data
lodepng.cpp(731,39): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
lodepng.cpp(754,37): warning C4267: '=': conversion from 'size_t' to 'unsigned short', possible loss of data
lodepng.cpp(771,38): warning C4267: '=': conversion from 'size_t' to 'unsigned short', possible loss of data
lodepng.cpp(3728,78): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(4698,33): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(4920,60): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(4925,83): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(4926,94): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(4927,83): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(4928,94): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(4929,83): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(4930,94): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(4931,78): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(5122,3): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(5146,7): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(5180,62): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(5197,3): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(5219,57): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(5250,57): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(5363,57): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data
lodepng.cpp(5441,33): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
(the line numbers are for the Oct 17 2020 release, 7fdcc96
)
Creating a x64 target with MS compilers report several warnings. On a x64 target variable type "unsigned" is 32bit whereas "size_t" is 64bit wide causing most of the warnings.