aws-sdk-cpp
aws-sdk-cpp copied to clipboard
Fix compiler warnings
Describe the bug
My compiler shows me a bunch of warnings that I'd like to get fixed. This is just a small list:
aws-cpp-sdk-core/include/aws/core/NoResult.h:29:81: warning: extra ';' after member function definition [-Wextra-semi]
/aws-cpp-sdk-core/include/aws/core/AmazonSerializableWebServiceRequest.h:42:17: warning: '~AmazonSerializableWebServiceRequest' overrides a destructor but is not marked 'override' [-Winconsistent-missing-destructor-override]
aws-cpp-sdk-core/include/aws/core/http/HttpResponse.h:115:21: warning: 65 enumeration values not explicitly handled in switch: 'REQUEST_NOT_MADE', 'CONTINUE', 'SWITCHING_PROTOCOLS'... [-Wswitch-enum]
aws-crt-cpp/crt/aws-c-io/include/aws/io/socket.h:98:18: warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]
aws-crt-cpp/include/aws/crt/StringView.h:534:49: warning: implicit conversion changes signedness: 'unsigned long' to 'const Aws::Crt::basic_string_view::difference_type' (aka 'const long') [-Wsign-conversion]
aws-crt-cpp/crt/aws-c-common/include/aws/common/math.gcc_builtin.inl:63:28: warning: implicit conversion changes signedness: 'int64_t' (aka 'long long') to 'unsigned long long' [-Wsign-conversion]
aws-crt-cpp/crt/aws-c-common/include/aws/common/math.gcc_builtin.inl:63:12: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
Expected Behavior
I expect the SDK to have 0 warnings.
Current Behavior
The current behaviour is that there are many warnings.
Reproduction Steps
I'm compiling a CLion project on MacOS 12.6 with ninja build tool and CMake 3.24.2.
Possible Solution
No response
Additional Information/Context
No response
AWS CPP SDK version used
1.10.47
Compiler and Version used
clang 14.0.0
Operating System and version
MacOS 12.6, CLion 2022.3.2
Can you include the exact reproduction steps and which cmake arguments you are using?
I'm using AppleClang 14.0.0.14000029 compiler with these settings:
-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing
-Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare
-Wint-conversion -Wconditional-uninitialized -Wconstant-conversion
-Wsign-conversion -Wbool-conversion -Wextra-semi -Wunreachable-code
-Wcast-align -Wshift-sign-overflow -Wmissing-prototypes
-Wnullable-to-nonnull-conversion -Wno-ignored-qualifiers -Wswitch-enum
-Wpedantic -Wdeprecated -Wzero-as-null-pointer-constant -Wunused-private-field
-Woverloaded-virtual -Wreorder -Winconsistent-missing-destructor-override
-Wunguarded-availability -Wunguarded-availability-new