MySQL Forums
Forum List  »  Connector/C++

Re: use Mingw to complie have -Werror
Posted by: dcat d
Date: September 16, 2024 11:59PM

dcat d Wrote:
-------------------------------------------------------
> from
> C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-


from C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\unknown_field_set.cc:35:
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/parse_context.h: In instantiation of 'const char* google::protobuf::internal::FieldParser(uint64_t, T&, const char*, google::protobuf::internal::ParseContext*) [with T = google::protobuf::internal::UnknownFieldParserHelper; uint64_t = long long unsigned int]':
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\unknown_field_set.cc:327:49: required from here
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/parse_context.h:797:25: error: conversion from 'uint64_t' {aka 'long long unsigned int'} to 'uint32_t' {aka 'unsigned int'} may change value [-Werror=conversion]
797 | uint32_t number = tag >> 3;
| ~~~~^~~~
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\stubs\strutil.cc:1024:21: error: conversion from 'google::protobuf::uint32' {aka 'unsigned int'} to 'char' may change value [-Werror=conversion]
1024 | *buffer++ = '0' + digits;
| ~~~~^~~~~~~~
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/generated_message_table_driven_lite.h:421:29: error: conversion from 'int64_t' {aka 'long long int'} to 'uint32_t' {aka 'unsigned int'} may change value [-Werror=conversion]
421 | SetField(msg, has_bits, presence_index, offset, value); \
| ^~~~~~~~~~~~~~
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/generated_message_table_driven_lite.h:457:9: note: in expansion of macro 'HANDLE_TYPE'
457 | HANDLE_TYPE(SFIXED32, int32_t)
| ^~~~~~~~~~~
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\generated_message_reflection.cc:288:14: error: switch missing default case [-Werror=switch-default]
288 | switch (field->cpp_type()) {
| ^
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\datapiece.cc: In instantiation of 'google::protobuf::util::statusor_internal::StatusOr<T> google::protobuf::util::converter::DataPiece::GenericConvert() const [with To = unsigned int]':
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\datapiece.cc:135:35: required from here
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\datapiece.cc:333:3: error: enumeration value 'TYPE_BOOL' not handled in switch [-Werror=switch-enum]
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\reflection_ops.cc: In static member function 'static void google::protobuf::internal::ReflectionOps::Merge(const google::protobuf::Message&, google::protobuf::Message*)':
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\reflection_ops.cc:106:16: error: switch missing default case [-Werror=switch-default]
106 | switch (field->cpp_type()) {
| ^
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\dynamic_message.cc: In member function 'void* google::protobuf::DynamicMessage::MutableOneofCaseRaw(int)':
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\dynamic_message.cc:368:56: error: conversion from 'long long unsigned int' to 'int' may change value [-Werror=conversion]
368 | return OffsetToPointer(type_info_->oneof_case_offset + sizeof(uint32_t) * i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/extension_set.h:754:26: note: remove 'std::move' call
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\datapiece.cc:333:3: error: enumeration value 'TYPE_ENUM' not handled in switch [-Werror=switch-enum]
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\datapiece.cc:333:3: error: enumeration value 'TYPE_STRING' not handled in switch [-Werror=switch-enum]
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\stubs\strutil.cc:1030:21: error: conversion from 'google::protobuf::uint32' {aka 'unsigned int'} to 'char' may change value [-Werror=conversion]
1030 | *buffer++ = '0' + digits;
| ~~~~^~~~~~~~
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\datapiece.cc:333:3: error: enumeration value 'TYPE_BYTES' not handled in switch [-Werror=switch-enum]
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/generated_message_table_driven_lite.h:612:54: error: conversion from 'int64_t' {aka 'long long int'} to 'uint32_t' {aka 'unsigned int'} may change value [-Werror=conversion]
612 | table, input, msg, oneof_case, presence_index, offset,
| ^~~~~~~~~~~~~~
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/port_def.inc:453:64: note: in definition of macro 'PROTOBUF_PREDICT_FALSE'
453 | # define PROTOBUF_PREDICT_FALSE(x) (__builtin_expect(false || (x), false))
| ^
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\default_value_objectwriter.cc:448:10: error: enumeration value 'Field_Kind_TYPE_MESSAGE' not handled in switch [-Werror=switch-enum]
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/parse_context.h:774:30: error: conversion from 'long long int' to 'int' may change value [-Werror=conversion]
774 | chunk_size = buffer_end_ - ptr;
| ~~~~~~~~~~~~^~~~~
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\parse_context.cc:306:16: error: conversion from 'uint64_t' {aka 'long long unsigned int'} to 'char' may change value [-Werror=conversion]
306 | s->push_back(val);
| ^~~
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\default_value_objectwriter.cc:448:10: error: enumeration value 'Field_Kind_Field_Kind_INT_MIN_SENTINEL_DO_NOT_USE_' not handled in switch [-Werror=switch-enum]
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\datapiece.cc:333:3: error: enumeration value 'TYPE_NULL' not handled in switch [-Werror=switch-enum]
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\stubs\strutil.cc:1252:20: error: comparing floating-point with '==' or '!=' is unsafe [-Werror=float-equal]
1252 | } else if (value == -std::numeric_limits<double>::infinity()) {
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/parse_context.h:753:23: error: conversion from 'long long int' to 'int' may change value [-Werror=conversion]
753 | int overrun = ptr - buffer_end_;
| ~~~~^~~~~~~~~~~~~
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\util\internal\default_value_objectwriter.cc:448:10: error: enumeration value 'Field_Kind_Field_Kind_INT_MAX_SENTINEL_DO_NOT_USE_' not handled in switch [-Werror=switch-enum]
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\extension_set.cc: In member function 'uint8_t* google::protobuf::internal::ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(const google::protobuf::MessageLite*, const google::protobuf::internal::ExtensionSet*, int, uint8_t*, google::protobuf::io::EpsCopyOutputStream*) const':
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\extension_set.cc:2026:14: error: switch missing default case [-Werror=switch-default]
2026 | switch (real_type(type)) {
| ^
In file included from C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\generated_message_table_driven_lite.cc:31:
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/generated_message_table_driven_lite.h:620:57: error: conversion from 'int64_t' {aka 'long long int'} to 'uint32_t' {aka 'unsigned int'} may change value [-Werror=conversion]
620 | MutableField<MessageLite*>(msg, has_bits, presence_index, offset);
| ^~~~~~~~~~~~~~
protobuf-3.19.6\cmake\CMakeFiles\libprotobuf.dir\build.make:990: recipe for target 'protobuf-3.19.6/cmake/CMakeFiles/libprotobuf.dir/__/src/google/protobuf/type.pb.cc.obj' failed
mingw32-make.exe[5]: *** [protobuf-3.19.6/cmake/CMakeFiles/libprotobuf.dir/__/src/google/protobuf/timestamp.pb.cc.obj] Error 1
In file included from C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/io/coded_stream.h:161,
from C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/parse_context.h:38,
from C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/extension_set.h:50,
from C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\extension_set.cc:35:
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/io/coded_stream.h: In instantiation of 'uint8_t* google::protobuf::io::EpsCopyOutputStream::WriteString(uint32_t, const T&, uint8_t*) [with T = std::__cxx11::basic_string<char>; uint8_t = unsigned char; uint32_t = unsigned int]':
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\extension_set.cc:2093:9: required from here
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/port_def.inc:453:60: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
453 | # define PROTOBUF_PREDICT_FALSE(x) (__builtin_expect(false || (x), false))
| ~~~~~~^~~~~~
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/io/coded_stream.h:749:9: note: in expansion of macro 'PROTOBUF_PREDICT_FALSE'
749 | if (PROTOBUF_PREDICT_FALSE(
| ^~~~~~~~~~~~~~~~~~~~~~
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\stubs\strutil.cc:1036:21: error: conversion from 'google::protobuf::uint32' {aka 'unsigned int'} to 'char' may change value [-Werror=conversion]
1036 | *buffer++ = '0' + digits;
| ~~~~^~~~~~~~
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/extension_set.h: In instantiation of 'static KeyValueFunctor google::protobuf::internal::ExtensionSet::ForEach(Iterator, Iterator, KeyValueFunctor) [with Iterator = const google::protobuf::internal::ExtensionSet::KeyValue*; KeyValueFunctor = google::protobuf::internal::ExtensionSet::SpaceUsedExcludingSelfLong() const::<lambda(int, const google::protobuf::internal::ExtensionSet::Extension&)>]':
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/extension_set.h:772:19: required from 'KeyValueFunctor google::protobuf::internal::ExtensionSet::ForEach(KeyValueFunctor) const [with KeyValueFunctor = google::protobuf::internal::ExtensionSet::SpaceUsedExcludingSelfLong() const::<lambda(int, const google::protobuf::internal::ExtensionSet::Extension&)>]'
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\extension_set_heavy.cc:417:4: required from here
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/extension_set.h:754:26: error: redundant move in return statement [-Werror=redundant-move]
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\reflection_ops.cc:139:14: error: switch missing default case [-Werror=switch-default]
139 | switch (field->cpp_type()) {
| ^
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/extension_set.h:754:26: note: remove 'std::move' call
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\stubs\strutil.cc:1041:19: error: conversion from 'google::protobuf::uint32' {aka 'unsigned int'} to 'char' may change value [-Werror=conversion]
1041 | *buffer++ = '0' + digits;
| ~~~~^~~~~~~~
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\dynamic_message.cc: In member function 'void google::protobuf::DynamicMessage::SharedCtor(bool)':
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\dynamic_message.cc:432:16: error: enumeration value 'FieldOptions_CType_CORD' not handled in switch [-Werror=switch-enum]
432 | switch (field->options().ctype()) {
| ^
At global scope:
cc1plus.exe: note: unrecognized command-line option '-Wno-stringop-overread' may have been intended to silence earlier diagnostics
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\descriptor.cc: In member function 'std::pair<const void*, google::protobuf::stringpiece_internal::StringPiece> google::protobuf::Symbol::parent_name_key() const':
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\descriptor.cc:226:12: error: enumeration value 'NULL_SYMBOL' not handled in switch [-Werror=switch-enum]
226 | switch (type()) {
| ^
At global scope:
cc1plus.exe: note: unrecognized command-line option '-Wno-stringop-overread' may have been intended to silence earlier diagnostics
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/parse_context.h:701:22: error: conversion from 'long long unsigned int' to 'int' may change value [-Werror=arith-conversion]
701 | int num = nbytes / sizeof(T);
| ~~~~~~~^~~~~~~~~~~
cc1plus.exe: some warnings being treated as errors
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/generated_message_table_driven_lite.h:421:29: error: conversion from 'int64_t' {aka 'long long int'} to 'uint32_t' {aka 'unsigned int'} may change value [-Werror=conversion]
421 | SetField(msg, has_bits, presence_index, offset, value); \
| ^~~~~~~~~~~~~~
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/generated_message_table_driven_lite.h:461:9: note: in expansion of macro 'HANDLE_TYPE'
461 | HANDLE_TYPE(DOUBLE, double)
| ^~~~~~~~~~~
cc1plus.exe: some warnings being treated as errors
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\dynamic_message.cc:432:16: error: enumeration value 'FieldOptions_CType_STRING_PIECE' not handled in switch [-Werror=switch-enum]
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/parse_context.h:774:30: error: conversion from 'long long int' to 'int' may change value [-Werror=conversion]
774 | chunk_size = buffer_end_ - ptr;
| ~~~~~~~~~~~~^~~~~
C:\Users\ASUS\Desktop\mingw\mysql-connector-cpp\cdk\extra\protobuf\protobuf-3.19.6\src\google\protobuf\descriptor.cc:226:12: error: enumeration value 'PACKAGE' not handled in switch [-Werror=switch-enum]
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-3.19.6/src/google/protobuf/parse_context.h:704:26: error: conversion from 'long long unsigned int' to 'int' may change value [-Werror=arith-conversion]
704 | int block_size = num * sizeof(T);
| ~~~~^~~~~~~~~~~
C:/Users/ASUS/Desktop/mingw/mysql-connector-cpp/cdk/extra/protobuf/protobuf-

Options: ReplyQuote


Subject
Views
Written By
Posted
92
September 16, 2024 11:58PM
Re: use Mingw to complie have -Werror
75
September 16, 2024 11:59PM
53
September 17, 2024 12:03AM
49
September 17, 2024 01:50AM


Sorry, only registered users may post in this forum.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.