-
Type: Bug
-
Resolution: Unresolved
-
Priority: Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: libbson
-
None
Related to CDRIVER-3776. I see these compile warnings in libbson 1.17.0 with clang 11.0.3:
python3.8 setup.py build_ext -i running build_ext building 'bsonjs' extension creating build creating build/temp.macosx-10.9-x86_64-3.8 creating build/temp.macosx-10.9-x86_64-3.8/src creating build/temp.macosx-10.9-x86_64-3.8/src/bson creating build/temp.macosx-10.9-x86_64-3.8/src/common creating build/temp.macosx-10.9-x86_64-3.8/src/jsonsl gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bsonjs.c -o build/temp.macosx-10.9-x86_64-3.8/src/bsonjs.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-context.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-context.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-oid.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-oid.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-error.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-error.o src/bson/bson-error.c:113:8: warning: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion] ret = strerror_r (err_code, buf, buflen); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-atomic.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-atomic.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-string.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-string.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-keys.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-keys.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-iter.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-iter.o src/bson/bson-iter.c:639:29: warning: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Wsign-compare] if (binary_len + 4 != l) { ~~~~~~~~~~~~~~ ^ ~ 1 warning generated. gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-iso8601.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-iso8601.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-md5.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-md5.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-memory.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-memory.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-writer.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-writer.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-value.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-value.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-json.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-json.o src/bson/bson-json.c:2090:39: warning: comparison of integers of different signs: 'ssize_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Wsign-compare] if (reader->json_text_pos < reader->json->pos) { ~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~ src/bson/bson-json.c:2091:24: warning: comparison of integers of different signs: 'unsigned long' and 'ssize_t' (aka 'long') [-Wsign-compare] accum = BSON_MIN (reader->json->pos - reader->json_text_pos, r); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ src/bson/bson-macros.h:123:30: note: expanded from macro 'BSON_MIN' #define BSON_MIN(a, b) (((a) < (b)) ? (a) : (b)) ~ ^ ~ 2 warnings generated. gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bcon.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bcon.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-version-functions.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-version-functions.o gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DBSON_COMPILATION=1 -Isrc -Isrc/bson -Isrc/jsonsl -Isrc/common -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c src/bson/bson-decimal128.c -o build/temp.macosx-10.9-x86_64-3.8/src/bson/bson-decimal128.o src/bson/bson-decimal128.c:285:20: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int32_t' (aka 'int') [-Wsign-compare] i < radix_position && (str_out - str) < BSON_DECIMAL128_STRING; ~ ^ ~~~~~~~~~~~~~~ src/bson/bson-decimal128.c:626:17: warning: comparison of integers of different signs: 'int32_t' (aka 'int') and 'size_t' (aka 'unsigned long') [-Wsign-compare] if (exponent <= radix_position && radix_position - exponent > (1 << 14)) { ~~~~~~~~ ^ ~~~~~~~~~~~~~~ 2 warnings generated.
Exact clang version:
gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.3 (clang-1103.0.32.62)
Target: x86_64-apple-darwin19.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
- is depended on by
-
SERVER-72015 Fix and/or suppress compiler warnings in libbson
- Needs Scheduling
- is related to
-
CDRIVER-3776 Windows VS2019 compile warnings in libbson
- Closed
- related to
-
CDRIVER-4596 Reducing Warnings - MSVC and MinGW Warnings in libbson
- Closed