rom-properties/extlib
David Korth e3a427f6c2 [cmake] msvc.cmake: Make all warnings act as errors. (/W3 /WX)
The MSVC build (64-bit, at least...) now builds with no warnings.
Tested using MSVC 2022 17.6.5.

NOTE: /W4 adds a *lot* of warnings that are mostly just noise. Need to
check /W4 and selectively enable at least some of them...

Removed /wd4482. I don't think this warning is relevant anymore.

Warning fixes:

[extlib] Add (unsigned int) casts where necessary.

[librpbase] Config::ImgTypePrio_t, KeyManager::KeyData_t:
- Change `length` from unsigned int to size_t.
  The struct is 16 bytes on 64-bit either way, but making it size_t
  fixes some conversion warnings.

[librpbase] Hash::Process():
- crc32() returns `unsigned long`, not `uint32_t`, for some reason.
- Also, its length parameter is `unsigned int`, not `size_t`.
- KeyManager::hexStringToBytes(): Take a `size_t` length parameter.

[librpfile] scsi:
- Change cdb_len from `uint8_t` to `size_t`. Using a `uint8_t` argument
  doesn't actually save any memory, since it uses 4 bytes on the stack
  for 32-bit, and one register on 64-bit, regardless.
- Also, limit the maximum cdb size to 260.

[rp-download] Disable warning C4996 when calling GetVersionEx().

[librptexture] DirectDrawSurface:
- Change some `expected_size` variables from `unsigned int` to `size_t`.

[librptexture] PalmOS_Tbmp:
- Change d->bitmapTypeAddr from `off64_t` to `uint32_t`.
- Change some size variables from `unsigned int` to `size_t`.
- loadTbmp(): v3 transparency: Explicitly cast the transparency value
  to uint16_t. (It's stored as a big-endian 32-bit value, but only
  16 bits are used.)
- getNextTbmpAddress(): Cast addresses to `uint32_t`. PalmOS executables
  are 32-bit and cannot possibly exceed 4 GB.
  - FIXME: This function isn't used? (Was it ever used?)

[libromdata]
- DMGPrivate::CartType(): Make `end_offset` constexpr.
- NCCHReader: Add casts for EncSections when using sizeof().
- KeyStoreUIPrivate: binToHexStr(), verifyKeyData():
  - Take a `size_t` length parameter.
- WiiUPackagePrivate: Added a parseHexBinary32() wrapper function
  that returns `uint32_t` instead of `uint64_t`.

[librpbyteswap/tests]
- BitstuffTest: Cast time(nullptr) to `unsigned int`.
  srand() takes `unsigned int`, not `time_t`.

[librpbase/tests]
- RpPngFormatTest: crc32()'s length parameter is `unsigned int`,
  not `size_t`.

[libromdata/tests]
- SuperMagicDriveTest: zlib uses `unsigned int`, so cast array sizes
  to `unsigned int` instead of changing decompress() to take `size_t`.
2025-03-31 21:34:35 -04:00
..
basisu_astc Remove CheckHiddenVisibility.cmake. 2025-01-18 22:34:24 -05:00
fmt CMake 3.5: Work around some issues with C_STANDARD and CXX_STANDARD not working properly for C11/C++11. 2025-03-23 15:25:36 -04:00
gettext.win32 [gettext.win32] Updated to gettext-0.22. 2023-07-28 19:37:18 -04:00
googletest [googletest] Don't use the gcc-4.9 workaround if building with clang. 2025-02-18 18:36:48 -05:00
inih Remove CheckHiddenVisibility.cmake. 2025-01-18 22:34:24 -05:00
libmspack-xenia Remove CheckHiddenVisibility.cmake. 2025-01-18 22:34:24 -05:00
libpng [libpng] Update: v1.6.46 -> v1.6.47 2025-02-21 03:50:12 -05:00
lz4 Remove CheckHiddenVisibility.cmake. 2025-01-18 22:34:24 -05:00
microtar Switch to CMake's POSITION_INDEPENDENT_CODE property instead of manually adding "-fpic -fPIC". 2025-01-05 14:02:13 -05:00
minilzo Remove CheckHiddenVisibility.cmake. 2025-01-18 22:34:24 -05:00
minizip-ng [minizip-ng] Cherry-pick a slight memory optimization for 64-bit systems. 2025-03-29 12:21:23 -04:00
PowerVR Remove CheckHiddenVisibility.cmake. 2025-01-18 22:34:24 -05:00
rapidjson [rapidjson] Backport a patch to fix compilation with gcc-14. 2023-11-01 00:03:41 -04:00
tinyxml2 [tinyxml2] Update: 10.1.0 -> 11.0.0 2025-03-16 15:32:01 -04:00
unice68 Remove CheckHiddenVisibility.cmake. 2025-01-18 22:34:24 -05:00
uniwidth [cmake] msvc.cmake: Make all warnings act as errors. (/W3 /WX) 2025-03-31 21:34:35 -04:00
zlib-ng [zlib-ng] CMakeLists.txt: Also don't print the list of architecture-specific source files. 2025-03-29 12:16:54 -04:00
zstd [zstd] Update: 1.5.6 -> 1.5.7 2025-02-19 22:07:44 -05:00
.clang-tidy .clang-tidy: Enable scanning on header files. 2023-06-30 22:56:49 -04:00
CMakeLists.txt Renamed extlib/libfmt/ to extlib/fmt/. 2025-03-20 22:16:59 -04:00