Lots of "warning: implicit conversion loses integer precision" with clang (Xcode 9.2 building for iOS)
Building for iOS using Xcode 9.2, I get a bunch of warnings about implicit 64-bit to 32-bit integer conversions.
In a lot of these, long
values from structs are placed into int
values in local variables for use. I don't know offhand which of these could actually overflow, why long
is used in the structures, or if there would be any real penalty to making the local vars match their sources in size.
- WARN | xcodebuild: libtheora/lib/rate.c:425:53: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
- WARN | xcodebuild: libtheora/lib/rate.c:488:8: warning: implicit conversion loses integer precision: 'long long' to 'ogg_uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
- WARN | xcodebuild: libtheora/lib/rate.c:1060:21: warning: implicit conversion loses integer precision: 'ogg_int64_t' (aka 'long long') to 'ogg_uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
- WARN | xcodebuild: libtheora/lib/rate.c:1061:21: warning: implicit conversion loses integer precision: 'ogg_int64_t' (aka 'long long') to 'ogg_int32_t' (aka 'int') [-Wshorten-64-to-32]
- WARN | xcodebuild: libtheora/lib/rate.c:1062:20: warning: implicit conversion loses integer precision: 'ogg_int64_t' (aka 'long long') to 'unsigned int' [-Wshorten-64-to-32]
- WARN | xcodebuild: libtheora/lib/rate.c:1098:23: warning: implicit conversion loses integer precision: 'ogg_int64_t' (aka 'long long') to 'ogg_uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
- WARN | xcodebuild: libtheora/lib/rate.c:1099:23: warning: implicit conversion loses integer precision: 'ogg_int64_t' (aka 'long long') to 'ogg_int32_t' (aka 'int') [-Wshorten-64-to-32]
- WARN | xcodebuild: libtheora/lib/rate.c:1100:22: warning: implicit conversion loses integer precision: 'ogg_int64_t' (aka 'long long') to 'unsigned int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:138:16: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:139:16: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:156:18: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:193:11: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:633:29: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:862:59: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:940:51: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:1447:6: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:1471:8: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:1481:10: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:1556:6: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:1845:28: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:1859:8: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:1872:38: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/analyze.c:2285:47: warning: implicit conversion loses integer precision: 'unsigned long' to 'unsigned int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/decinfo.c:141:29: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/decode.c:1066:26: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/decode.c:1138:26: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/decode.c:1139:10: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/decode.c:1554:13: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/encinfo.c:65:18: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/encode.c:1470:63: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/info.c:69:15: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/info.c:82:11: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/info.c:83:11: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/info.c:98:11: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/info.c:114:11: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
- WARN | [iOS] xcodebuild: libtheora/lib/internal.c:106:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]