Fix more implicit type conversions in public headers and generated code.

This commit is contained in:
Bo Yang 2017-06-23 12:56:44 -07:00 committed by Bo Yang
parent 9c0b35cf62
commit e3c807d4e7
26 changed files with 606 additions and 449 deletions

View file

@ -240,8 +240,9 @@ Api::Api(const Api& from)
void Api::SharedCtor() { void Api::SharedCtor() {
name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(&source_context_, 0, reinterpret_cast<char*>(&syntax_) - ::memset(&source_context_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&source_context_) + sizeof(syntax_)); reinterpret_cast<char*>(&syntax_) -
reinterpret_cast<char*>(&source_context_)) + sizeof(syntax_));
_cached_size_ = 0; _cached_size_ = 0;
} }
@ -438,15 +439,17 @@ void Api::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Method methods = 2; // repeated .google.protobuf.Method methods = 2;
for (unsigned int i = 0, n = this->methods_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->methods_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2, this->methods(i), output); 2, this->methods(static_cast<int>(i)), output);
} }
// repeated .google.protobuf.Option options = 3; // repeated .google.protobuf.Option options = 3;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3, this->options(i), output); 3, this->options(static_cast<int>(i)), output);
} }
// string version = 4; // string version = 4;
@ -466,9 +469,10 @@ void Api::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Mixin mixins = 6; // repeated .google.protobuf.Mixin mixins = 6;
for (unsigned int i = 0, n = this->mixins_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->mixins_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
6, this->mixins(i), output); 6, this->mixins(static_cast<int>(i)), output);
} }
// .google.protobuf.Syntax syntax = 7; // .google.protobuf.Syntax syntax = 7;
@ -498,17 +502,19 @@ void Api::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Method methods = 2; // repeated .google.protobuf.Method methods = 2;
for (unsigned int i = 0, n = this->methods_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->methods_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
2, this->methods(i), deterministic, target); 2, this->methods(static_cast<int>(i)), deterministic, target);
} }
// repeated .google.protobuf.Option options = 3; // repeated .google.protobuf.Option options = 3;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
3, this->options(i), deterministic, target); 3, this->options(static_cast<int>(i)), deterministic, target);
} }
// string version = 4; // string version = 4;
@ -530,10 +536,11 @@ void Api::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Mixin mixins = 6; // repeated .google.protobuf.Mixin mixins = 6;
for (unsigned int i = 0, n = this->mixins_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->mixins_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
6, this->mixins(i), deterministic, target); 6, this->mixins(static_cast<int>(i)), deterministic, target);
} }
// .google.protobuf.Syntax syntax = 7; // .google.protobuf.Syntax syntax = 7;
@ -552,34 +559,34 @@ size_t Api::ByteSizeLong() const {
// repeated .google.protobuf.Method methods = 2; // repeated .google.protobuf.Method methods = 2;
{ {
unsigned int count = this->methods_size(); unsigned int count = static_cast<unsigned int>(this->methods_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->methods(i)); this->methods(static_cast<int>(i)));
} }
} }
// repeated .google.protobuf.Option options = 3; // repeated .google.protobuf.Option options = 3;
{ {
unsigned int count = this->options_size(); unsigned int count = static_cast<unsigned int>(this->options_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->options(i)); this->options(static_cast<int>(i)));
} }
} }
// repeated .google.protobuf.Mixin mixins = 6; // repeated .google.protobuf.Mixin mixins = 6;
{ {
unsigned int count = this->mixins_size(); unsigned int count = static_cast<unsigned int>(this->mixins_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->mixins(i)); this->mixins(static_cast<int>(i)));
} }
} }
@ -989,8 +996,8 @@ Method::Method(const Method& from)
response_type_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.response_type_url_); response_type_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.response_type_url_);
} }
::memcpy(&request_streaming_, &from.request_streaming_, ::memcpy(&request_streaming_, &from.request_streaming_,
reinterpret_cast<char*>(&syntax_) - static_cast<size_t>(reinterpret_cast<char*>(&syntax_) -
reinterpret_cast<char*>(&request_streaming_) + sizeof(syntax_)); reinterpret_cast<char*>(&request_streaming_)) + sizeof(syntax_));
// @@protoc_insertion_point(copy_constructor:google.protobuf.Method) // @@protoc_insertion_point(copy_constructor:google.protobuf.Method)
} }
@ -998,8 +1005,9 @@ void Method::SharedCtor() {
name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
request_type_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); request_type_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
response_type_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); response_type_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(&request_streaming_, 0, reinterpret_cast<char*>(&syntax_) - ::memset(&request_streaming_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&request_streaming_) + sizeof(syntax_)); reinterpret_cast<char*>(&syntax_) -
reinterpret_cast<char*>(&request_streaming_)) + sizeof(syntax_));
_cached_size_ = 0; _cached_size_ = 0;
} }
@ -1043,8 +1051,9 @@ void Method::Clear() {
name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
request_type_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); request_type_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
response_type_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); response_type_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(&request_streaming_, 0, reinterpret_cast<char*>(&syntax_) - ::memset(&request_streaming_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&request_streaming_) + sizeof(syntax_)); reinterpret_cast<char*>(&syntax_) -
reinterpret_cast<char*>(&request_streaming_)) + sizeof(syntax_));
} }
bool Method::MergePartialFromCodedStream( bool Method::MergePartialFromCodedStream(
@ -1228,9 +1237,10 @@ void Method::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Option options = 6; // repeated .google.protobuf.Option options = 6;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
6, this->options(i), output); 6, this->options(static_cast<int>(i)), output);
} }
// .google.protobuf.Syntax syntax = 7; // .google.protobuf.Syntax syntax = 7;
@ -1292,10 +1302,11 @@ void Method::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Option options = 6; // repeated .google.protobuf.Option options = 6;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
6, this->options(i), deterministic, target); 6, this->options(static_cast<int>(i)), deterministic, target);
} }
// .google.protobuf.Syntax syntax = 7; // .google.protobuf.Syntax syntax = 7;
@ -1314,12 +1325,12 @@ size_t Method::ByteSizeLong() const {
// repeated .google.protobuf.Option options = 6; // repeated .google.protobuf.Option options = 6;
{ {
unsigned int count = this->options_size(); unsigned int count = static_cast<unsigned int>(this->options_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->options(i)); this->options(static_cast<int>(i)));
} }
} }

View file

@ -143,12 +143,14 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
if (UseUnknownFieldSet(descriptor_->file(), options_)) { if (UseUnknownFieldSet(descriptor_->file(), options_)) {
printer->Print(variables_, printer->Print(variables_,
"} else {\n" "} else {\n"
" mutable_unknown_fields()->AddVarint($number$, value);\n"); " mutable_unknown_fields()->AddVarint(\n"
" $number$, static_cast<::google::protobuf::uint64>(value));\n");
} else { } else {
printer->Print( printer->Print(
"} else {\n" "} else {\n"
" unknown_fields_stream.WriteVarint32($tag$u);\n" " unknown_fields_stream.WriteVarint32($tag$u);\n"
" unknown_fields_stream.WriteVarint32(value);\n", " unknown_fields_stream.WriteVarint32(\n"
" static_cast<::google::protobuf::uint32>(value));\n",
"tag", SimpleItoa(internal::WireFormat::MakeTag(descriptor_))); "tag", SimpleItoa(internal::WireFormat::MakeTag(descriptor_)));
} }
printer->Print(variables_, printer->Print(variables_,
@ -344,12 +346,14 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
if (UseUnknownFieldSet(descriptor_->file(), options_)) { if (UseUnknownFieldSet(descriptor_->file(), options_)) {
printer->Print(variables_, printer->Print(variables_,
"} else {\n" "} else {\n"
" mutable_unknown_fields()->AddVarint($number$, value);\n"); " mutable_unknown_fields()->AddVarint(\n"
" $number$, static_cast<::google::protobuf::uint64>(value));\n");
} else { } else {
printer->Print( printer->Print(
"} else {\n" "} else {\n"
" unknown_fields_stream.WriteVarint32(tag);\n" " unknown_fields_stream.WriteVarint32(tag);\n"
" unknown_fields_stream.WriteVarint32(value);\n"); " unknown_fields_stream.WriteVarint32(\n"
" static_cast<::google::protobuf::uint32>(value));\n");
} }
printer->Print("}\n"); printer->Print("}\n");
} }
@ -391,7 +395,7 @@ GenerateMergeFromCodedStreamWithPacking(io::Printer* printer) const {
"::google::protobuf::uint32 length;\n" "::google::protobuf::uint32 length;\n"
"DO_(input->ReadVarint32(&length));\n" "DO_(input->ReadVarint32(&length));\n"
"::google::protobuf::io::CodedInputStream::Limit limit = " "::google::protobuf::io::CodedInputStream::Limit limit = "
"input->PushLimit(length);\n" "input->PushLimit(static_cast<int>(length));\n"
"while (input->BytesUntilLimit() > 0) {\n" "while (input->BytesUntilLimit() > 0) {\n"
" int value;\n" " int value;\n"
" DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<\n" " DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<\n"
@ -407,11 +411,13 @@ GenerateMergeFromCodedStreamWithPacking(io::Printer* printer) const {
" } else {\n"); " } else {\n");
if (UseUnknownFieldSet(descriptor_->file(), options_)) { if (UseUnknownFieldSet(descriptor_->file(), options_)) {
printer->Print(variables_, printer->Print(variables_,
" mutable_unknown_fields()->AddVarint($number$, value);\n"); " mutable_unknown_fields()->AddVarint(\n"
" $number$, static_cast<::google::protobuf::uint64>(value));\n");
} else { } else {
printer->Print(variables_, printer->Print(variables_,
" unknown_fields_stream.WriteVarint32(tag);\n" " unknown_fields_stream.WriteVarint32(tag);\n"
" unknown_fields_stream.WriteVarint32(value);\n"); " unknown_fields_stream.WriteVarint32(\n"
" static_cast<::google::protobuf::uint32>(value));\n");
} }
printer->Print( printer->Print(
" }\n"); " }\n");
@ -432,7 +438,8 @@ GenerateSerializeWithCachedSizes(io::Printer* printer) const {
" $number$,\n" " $number$,\n"
" ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,\n" " ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,\n"
" output);\n" " output);\n"
" output->WriteVarint32(_$name$_cached_byte_size_);\n" " output->WriteVarint32(\n"
" static_cast<::google::protobuf::uint32>(_$name$_cached_byte_size_));\n"
"}\n"); "}\n");
} }
printer->Print(variables_, printer->Print(variables_,
@ -460,7 +467,8 @@ GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const {
" ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,\n" " ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,\n"
" target);\n" " target);\n"
" target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(" " target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray("
" _$name$_cached_byte_size_, target);\n" " static_cast<::google::protobuf::uint32>(\n"
" _$name$_cached_byte_size_), target);\n"
" target = ::google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(\n" " target = ::google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(\n"
" this->$name$_, target);\n" " this->$name$_, target);\n"
"}\n"); "}\n");
@ -476,12 +484,12 @@ GenerateByteSize(io::Printer* printer) const {
printer->Print(variables_, printer->Print(variables_,
"{\n" "{\n"
" size_t data_size = 0;\n" " size_t data_size = 0;\n"
" unsigned int count = this->$name$_size();"); " unsigned int count = static_cast<unsigned int>(this->$name$_size());");
printer->Indent(); printer->Indent();
printer->Print(variables_, printer->Print(variables_,
"for (unsigned int i = 0; i < count; i++) {\n" "for (unsigned int i = 0; i < count; i++) {\n"
" data_size += ::google::protobuf::internal::WireFormatLite::EnumSize(\n" " data_size += ::google::protobuf::internal::WireFormatLite::EnumSize(\n"
" this->$name$(i));\n" " this->$name$(static_cast<int>(i)));\n"
"}\n"); "}\n");
if (descriptor_->is_packed()) { if (descriptor_->is_packed()) {

View file

@ -409,13 +409,14 @@ void MapFieldGenerator::GenerateSerializeWithCachedSizes(
" for (::google::protobuf::Map< $key_cpp$, $val_cpp$ >::const_iterator\n" " for (::google::protobuf::Map< $key_cpp$, $val_cpp$ >::const_iterator\n"
" it = this->$name$().begin();\n" " it = this->$name$().begin();\n"
" it != this->$name$().end(); ++it, ++n) {\n" " it != this->$name$().end(); ++it, ++n) {\n"
" items[n] = SortItem(&*it);\n" " items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);\n"
" }\n" " }\n"
" ::std::sort(&items[0], &items[n], Less());\n"); " ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());\n");
printer->Indent(); printer->Indent();
GenerateSerializationLoop(printer, variables, SupportsArenas(descriptor_), GenerateSerializationLoop(printer, variables, SupportsArenas(descriptor_),
utf8_check, "for (size_type i = 0; i < n; i++)", utf8_check, "for (size_type i = 0; i < n; i++)",
string_key ? "items[i]" : "items[i].second", false); string_key ? "items[static_cast<ptrdiff_t>(i)]" :
"items[static_cast<ptrdiff_t>(i)].second", false);
printer->Outdent(); printer->Outdent();
printer->Print( printer->Print(
"} else {\n"); "} else {\n");

View file

@ -2308,12 +2308,13 @@ void MessageGenerator::GenerateConstructorBody(io::Printer* printer,
if (copy_constructor) { if (copy_constructor) {
pod_template = pod_template =
"::memcpy(&$first$_, &from.$first$_,\n" "::memcpy(&$first$_, &from.$first$_,\n"
" reinterpret_cast<char*>(&$last$_) -\n" " static_cast<size_t>(reinterpret_cast<char*>(&$last$_) -\n"
" reinterpret_cast<char*>(&$first$_) + sizeof($last$_));\n"; " reinterpret_cast<char*>(&$first$_)) + sizeof($last$_));\n";
} else { } else {
pod_template = pod_template =
"::memset(&$first$_, 0, reinterpret_cast<char*>(&$last$_) -\n" "::memset(&$first$_, 0, static_cast<size_t>(\n"
" reinterpret_cast<char*>(&$first$_) + sizeof($last$_));\n"; " reinterpret_cast<char*>(&$last$_) -\n"
" reinterpret_cast<char*>(&$first$_)) + sizeof($last$_));\n";
} }
for (int i = 0; i < optimized_order_.size(); ++i) { for (int i = 0; i < optimized_order_.size(); ++i) {
@ -2750,8 +2751,9 @@ GenerateClear(io::Printer* printer) {
FieldName(optimized_order_[memset_run_end]); FieldName(optimized_order_[memset_run_end]);
printer->Print( printer->Print(
"::memset(&$first$_, 0, reinterpret_cast<char*>(&$last$_) -\n" "::memset(&$first$_, 0, static_cast<size_t>(\n"
" reinterpret_cast<char*>(&$first$_) + sizeof($last$_));\n", " reinterpret_cast<char*>(&$last$_) -\n"
" reinterpret_cast<char*>(&$first$_)) + sizeof($last$_));\n",
"first", first_field_name, "first", first_field_name,
"last", last_field_name); "last", last_field_name);
} }

View file

@ -1084,19 +1084,21 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
void RepeatedMessageFieldGenerator:: void RepeatedMessageFieldGenerator::
GenerateSerializeWithCachedSizes(io::Printer* printer) const { GenerateSerializeWithCachedSizes(io::Printer* printer) const {
printer->Print(variables_, printer->Print(variables_,
"for (unsigned int i = 0, n = this->$name$_size(); i < n; i++) {\n" "for (unsigned int i = 0,\n"
" n = static_cast<unsigned int>(this->$name$_size()); i < n; i++) {\n"
" ::google::protobuf::internal::WireFormatLite::Write$stream_writer$(\n" " ::google::protobuf::internal::WireFormatLite::Write$stream_writer$(\n"
" $number$, this->$name$(i), output);\n" " $number$, this->$name$(static_cast<int>(i)), output);\n"
"}\n"); "}\n");
} }
void RepeatedMessageFieldGenerator:: void RepeatedMessageFieldGenerator::
GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const { GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const {
printer->Print(variables_, printer->Print(variables_,
"for (unsigned int i = 0, n = this->$name$_size(); i < n; i++) {\n" "for (unsigned int i = 0,\n"
" n = static_cast<unsigned int>(this->$name$_size()); i < n; i++) {\n"
" target = ::google::protobuf::internal::WireFormatLite::\n" " target = ::google::protobuf::internal::WireFormatLite::\n"
" InternalWrite$declared_type$NoVirtualToArray(\n" " InternalWrite$declared_type$NoVirtualToArray(\n"
" $number$, this->$name$(i), deterministic, target);\n" " $number$, this->$name$(static_cast<int>(i)), deterministic, target);\n"
"}\n"); "}\n");
} }
@ -1104,14 +1106,14 @@ void RepeatedMessageFieldGenerator::
GenerateByteSize(io::Printer* printer) const { GenerateByteSize(io::Printer* printer) const {
printer->Print(variables_, printer->Print(variables_,
"{\n" "{\n"
" unsigned int count = this->$name$_size();\n"); " unsigned int count = static_cast<unsigned int>(this->$name$_size());\n");
printer->Indent(); printer->Indent();
printer->Print(variables_, printer->Print(variables_,
"total_size += $tag_size$UL * count;\n" "total_size += $tag_size$UL * count;\n"
"for (unsigned int i = 0; i < count; i++) {\n" "for (unsigned int i = 0; i < count; i++) {\n"
" total_size +=\n" " total_size +=\n"
" ::google::protobuf::internal::WireFormatLite::$declared_type$SizeNoVirtual(\n" " ::google::protobuf::internal::WireFormatLite::$declared_type$SizeNoVirtual(\n"
" this->$name$(i));\n" " this->$name$(static_cast<int>(i)));\n"
"}\n"); "}\n");
printer->Outdent(); printer->Outdent();
printer->Print("}\n"); printer->Print("}\n");

View file

@ -382,7 +382,8 @@ GenerateSerializeWithCachedSizes(io::Printer* printer) const {
"$number$, " "$number$, "
"::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, " "::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, "
"output);\n" "output);\n"
" output->WriteVarint32(_$name$_cached_byte_size_);\n"); " output->WriteVarint32(static_cast<::google::protobuf::uint32>(\n"
" _$name$_cached_byte_size_));\n");
if (FixedSize(descriptor_->type()) > 0) { if (FixedSize(descriptor_->type()) > 0) {
// TODO(ckennelly): Use RepeatedField<T>::unsafe_data() via // TODO(ckennelly): Use RepeatedField<T>::unsafe_data() via
@ -422,7 +423,8 @@ GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const {
" ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,\n" " ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,\n"
" target);\n" " target);\n"
" target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(\n" " target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(\n"
" _$name$_cached_byte_size_, target);\n" " static_cast<::google::protobuf::uint32>(\n"
" _$name$_cached_byte_size_), target);\n"
" target = ::google::protobuf::internal::WireFormatLite::\n" " target = ::google::protobuf::internal::WireFormatLite::\n"
" Write$declared_type$NoTagToArray(this->$name$_, target);\n" " Write$declared_type$NoTagToArray(this->$name$_, target);\n"
"}\n"); "}\n");
@ -444,7 +446,7 @@ GenerateByteSize(io::Printer* printer) const {
" $declared_type$Size(this->$name$_);\n"); " $declared_type$Size(this->$name$_);\n");
} else { } else {
printer->Print(variables_, printer->Print(variables_,
"unsigned int count = this->$name$_size();\n" "unsigned int count = static_cast<unsigned int>(this->$name$_size());\n"
"size_t data_size = $fixed_size$UL * count;\n"); "size_t data_size = $fixed_size$UL * count;\n");
} }

View file

@ -239,16 +239,17 @@ Version::Version(const Version& from)
suffix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.suffix_); suffix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.suffix_);
} }
::memcpy(&major_, &from.major_, ::memcpy(&major_, &from.major_,
reinterpret_cast<char*>(&patch_) - static_cast<size_t>(reinterpret_cast<char*>(&patch_) -
reinterpret_cast<char*>(&major_) + sizeof(patch_)); reinterpret_cast<char*>(&major_)) + sizeof(patch_));
// @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.Version) // @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.Version)
} }
void Version::SharedCtor() { void Version::SharedCtor() {
_cached_size_ = 0; _cached_size_ = 0;
suffix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); suffix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(&major_, 0, reinterpret_cast<char*>(&patch_) - ::memset(&major_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&major_) + sizeof(patch_)); reinterpret_cast<char*>(&patch_) -
reinterpret_cast<char*>(&major_)) + sizeof(patch_));
} }
Version::~Version() { Version::~Version() {
@ -290,8 +291,9 @@ void Version::Clear() {
(*suffix_.UnsafeRawStringPointer())->clear(); (*suffix_.UnsafeRawStringPointer())->clear();
} }
if (_has_bits_[0 / 32] & 14u) { if (_has_bits_[0 / 32] & 14u) {
::memset(&major_, 0, reinterpret_cast<char*>(&patch_) - ::memset(&major_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&major_) + sizeof(patch_)); reinterpret_cast<char*>(&patch_) -
reinterpret_cast<char*>(&major_)) + sizeof(patch_));
} }
_has_bits_.Clear(); _has_bits_.Clear();
_internal_metadata_.Clear(); _internal_metadata_.Clear();
@ -950,9 +952,10 @@ void CodeGeneratorRequest::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.FileDescriptorProto proto_file = 15; // repeated .google.protobuf.FileDescriptorProto proto_file = 15;
for (unsigned int i = 0, n = this->proto_file_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->proto_file_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
15, this->proto_file(i), output); 15, this->proto_file(static_cast<int>(i)), output);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -998,10 +1001,11 @@ void CodeGeneratorRequest::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.FileDescriptorProto proto_file = 15; // repeated .google.protobuf.FileDescriptorProto proto_file = 15;
for (unsigned int i = 0, n = this->proto_file_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->proto_file_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
15, this->proto_file(i), deterministic, target); 15, this->proto_file(static_cast<int>(i)), deterministic, target);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -1031,12 +1035,12 @@ size_t CodeGeneratorRequest::ByteSizeLong() const {
// repeated .google.protobuf.FileDescriptorProto proto_file = 15; // repeated .google.protobuf.FileDescriptorProto proto_file = 15;
{ {
unsigned int count = this->proto_file_size(); unsigned int count = static_cast<unsigned int>(this->proto_file_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->proto_file(i)); this->proto_file(static_cast<int>(i)));
} }
} }
@ -2082,9 +2086,10 @@ void CodeGeneratorResponse::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15; // repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15;
for (unsigned int i = 0, n = this->file_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->file_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
15, this->file(i), output); 15, this->file(static_cast<int>(i)), output);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -2113,10 +2118,11 @@ void CodeGeneratorResponse::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15; // repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15;
for (unsigned int i = 0, n = this->file_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->file_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
15, this->file(i), deterministic, target); 15, this->file(static_cast<int>(i)), deterministic, target);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -2138,12 +2144,12 @@ size_t CodeGeneratorResponse::ByteSizeLong() const {
} }
// repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15; // repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15;
{ {
unsigned int count = this->file_size(); unsigned int count = static_cast<unsigned int>(this->file_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->file(i)); this->file(static_cast<int>(i)));
} }
} }

View file

@ -205,16 +205,17 @@ FieldAccessInfo::FieldAccessInfo(const FieldAccessInfo& from)
name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
} }
::memcpy(&getters_count_, &from.getters_count_, ::memcpy(&getters_count_, &from.getters_count_,
reinterpret_cast<char*>(&configs_count_) - static_cast<size_t>(reinterpret_cast<char*>(&configs_count_) -
reinterpret_cast<char*>(&getters_count_) + sizeof(configs_count_)); reinterpret_cast<char*>(&getters_count_)) + sizeof(configs_count_));
// @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.FieldAccessInfo) // @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.FieldAccessInfo)
} }
void FieldAccessInfo::SharedCtor() { void FieldAccessInfo::SharedCtor() {
_cached_size_ = 0; _cached_size_ = 0;
name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(&getters_count_, 0, reinterpret_cast<char*>(&configs_count_) - ::memset(&getters_count_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&getters_count_) + sizeof(configs_count_)); reinterpret_cast<char*>(&configs_count_) -
reinterpret_cast<char*>(&getters_count_)) + sizeof(configs_count_));
} }
FieldAccessInfo::~FieldAccessInfo() { FieldAccessInfo::~FieldAccessInfo() {
@ -256,8 +257,9 @@ void FieldAccessInfo::Clear() {
(*name_.UnsafeRawStringPointer())->clear(); (*name_.UnsafeRawStringPointer())->clear();
} }
if (_has_bits_[0 / 32] & 14u) { if (_has_bits_[0 / 32] & 14u) {
::memset(&getters_count_, 0, reinterpret_cast<char*>(&configs_count_) - ::memset(&getters_count_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&getters_count_) + sizeof(configs_count_)); reinterpret_cast<char*>(&configs_count_) -
reinterpret_cast<char*>(&getters_count_)) + sizeof(configs_count_));
} }
_has_bits_.Clear(); _has_bits_.Clear();
_internal_metadata_.Clear(); _internal_metadata_.Clear();
@ -875,9 +877,10 @@ void MessageAccessInfo::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.compiler.FieldAccessInfo field = 3; // repeated .google.protobuf.compiler.FieldAccessInfo field = 3;
for (unsigned int i = 0, n = this->field_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->field_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3, this->field(i), output); 3, this->field(static_cast<int>(i)), output);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -911,10 +914,11 @@ void MessageAccessInfo::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.compiler.FieldAccessInfo field = 3; // repeated .google.protobuf.compiler.FieldAccessInfo field = 3;
for (unsigned int i = 0, n = this->field_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->field_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
3, this->field(i), deterministic, target); 3, this->field(static_cast<int>(i)), deterministic, target);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -936,12 +940,12 @@ size_t MessageAccessInfo::ByteSizeLong() const {
} }
// repeated .google.protobuf.compiler.FieldAccessInfo field = 3; // repeated .google.protobuf.compiler.FieldAccessInfo field = 3;
{ {
unsigned int count = this->field_size(); unsigned int count = static_cast<unsigned int>(this->field_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->field(i)); this->field(static_cast<int>(i)));
} }
} }
@ -1279,9 +1283,10 @@ void AccessInfo::SerializeWithCachedSizes(
(void) cached_has_bits; (void) cached_has_bits;
// repeated .google.protobuf.compiler.MessageAccessInfo message = 1; // repeated .google.protobuf.compiler.MessageAccessInfo message = 1;
for (unsigned int i = 0, n = this->message_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->message_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1, this->message(i), output); 1, this->message(static_cast<int>(i)), output);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -1298,10 +1303,11 @@ void AccessInfo::SerializeWithCachedSizes(
(void) cached_has_bits; (void) cached_has_bits;
// repeated .google.protobuf.compiler.MessageAccessInfo message = 1; // repeated .google.protobuf.compiler.MessageAccessInfo message = 1;
for (unsigned int i = 0, n = this->message_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->message_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
1, this->message(i), deterministic, target); 1, this->message(static_cast<int>(i)), deterministic, target);
} }
if (_internal_metadata_.have_unknown_fields()) { if (_internal_metadata_.have_unknown_fields()) {
@ -1323,12 +1329,12 @@ size_t AccessInfo::ByteSizeLong() const {
} }
// repeated .google.protobuf.compiler.MessageAccessInfo message = 1; // repeated .google.protobuf.compiler.MessageAccessInfo message = 1;
{ {
unsigned int count = this->message_size(); unsigned int count = static_cast<unsigned int>(this->message_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->message(i)); this->message(static_cast<int>(i)));
} }
} }

File diff suppressed because it is too large Load diff

View file

@ -164,14 +164,15 @@ Duration::Duration(const Duration& from)
_cached_size_(0) { _cached_size_(0) {
_internal_metadata_.MergeFrom(from._internal_metadata_); _internal_metadata_.MergeFrom(from._internal_metadata_);
::memcpy(&seconds_, &from.seconds_, ::memcpy(&seconds_, &from.seconds_,
reinterpret_cast<char*>(&nanos_) - static_cast<size_t>(reinterpret_cast<char*>(&nanos_) -
reinterpret_cast<char*>(&seconds_) + sizeof(nanos_)); reinterpret_cast<char*>(&seconds_)) + sizeof(nanos_));
// @@protoc_insertion_point(copy_constructor:google.protobuf.Duration) // @@protoc_insertion_point(copy_constructor:google.protobuf.Duration)
} }
void Duration::SharedCtor() { void Duration::SharedCtor() {
::memset(&seconds_, 0, reinterpret_cast<char*>(&nanos_) - ::memset(&seconds_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&seconds_) + sizeof(nanos_)); reinterpret_cast<char*>(&nanos_) -
reinterpret_cast<char*>(&seconds_)) + sizeof(nanos_));
_cached_size_ = 0; _cached_size_ = 0;
} }
@ -215,8 +216,9 @@ Duration* Duration::New(::google::protobuf::Arena* arena) const {
void Duration::Clear() { void Duration::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.Duration) // @@protoc_insertion_point(message_clear_start:google.protobuf.Duration)
::memset(&seconds_, 0, reinterpret_cast<char*>(&nanos_) - ::memset(&seconds_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&seconds_) + sizeof(nanos_)); reinterpret_cast<char*>(&nanos_) -
reinterpret_cast<char*>(&seconds_)) + sizeof(nanos_));
} }
bool Duration::MergePartialFromCodedStream( bool Duration::MergePartialFromCodedStream(

View file

@ -156,20 +156,20 @@ class LIBPROTOBUF_EXPORT DynamicMapSorter {
int map_size, int map_size,
const Reflection* reflection, const Reflection* reflection,
const FieldDescriptor* field) { const FieldDescriptor* field) {
std::vector<const Message*> result(map_size); std::vector<const Message*> result(static_cast<size_t>(map_size));
const RepeatedPtrField<Message>& map_field = const RepeatedPtrField<Message>& map_field =
reflection->GetRepeatedPtrField<Message>(message, field); reflection->GetRepeatedPtrField<Message>(message, field);
int i = 0; size_t i = 0;
for (RepeatedPtrField<Message>::const_pointer_iterator it = for (RepeatedPtrField<Message>::const_pointer_iterator it =
map_field.pointer_begin(); it != map_field.pointer_end(); ) { map_field.pointer_begin(); it != map_field.pointer_end(); ) {
result[i++] = *it++; result[i++] = *it++;
} }
GOOGLE_DCHECK_EQ(result.size(), static_cast<size_t>(i)); GOOGLE_DCHECK_EQ(result.size(), i);
MapEntryMessageComparator comparator(field->message_type()); MapEntryMessageComparator comparator(field->message_type());
std::sort(result.begin(), result.end(), comparator); std::sort(result.begin(), result.end(), comparator);
// Complain if the keys aren't in ascending order. // Complain if the keys aren't in ascending order.
#ifndef NDEBUG #ifndef NDEBUG
for (int j = 1; j < map_size; j++) { for (size_t j = 1; j < static_cast<size_t>(map_size); j++) {
if (!comparator(result[j - 1], result[j])) { if (!comparator(result[j - 1], result[j])) {
GOOGLE_LOG(ERROR) << (comparator(result[j], result[j - 1]) ? GOOGLE_LOG(ERROR) << (comparator(result[j], result[j - 1]) ?
"internal error in map key sorting" : "internal error in map key sorting" :

View file

@ -129,7 +129,7 @@ class WeakFieldMap; // weak_field_map.h
struct ReflectionSchema { struct ReflectionSchema {
public: public:
// Size of a google::protobuf::Message object of this type. // Size of a google::protobuf::Message object of this type.
uint32 GetObjectSize() const { return object_size_; } uint32 GetObjectSize() const { return static_cast<uint32>(object_size_); }
// Offset of a non-oneof field. Getting a field offset is slightly more // Offset of a non-oneof field. Getting a field offset is slightly more
// efficient when we know statically that it is not a oneof field. // efficient when we know statically that it is not a oneof field.
@ -141,8 +141,9 @@ struct ReflectionSchema {
// Offset of any field. // Offset of any field.
uint32 GetFieldOffset(const FieldDescriptor* field) const { uint32 GetFieldOffset(const FieldDescriptor* field) const {
if (field->containing_oneof()) { if (field->containing_oneof()) {
size_t offset = field->containing_type()->field_count() + size_t offset =
field->containing_oneof()->index(); static_cast<size_t>(field->containing_type()->field_count() +
field->containing_oneof()->index());
return offsets_[offset]; return offsets_[offset];
} else { } else {
return GetFieldOffsetNonOneof(field); return GetFieldOffsetNonOneof(field);
@ -150,8 +151,9 @@ struct ReflectionSchema {
} }
uint32 GetOneofCaseOffset(const OneofDescriptor* oneof_descriptor) const { uint32 GetOneofCaseOffset(const OneofDescriptor* oneof_descriptor) const {
return oneof_case_offset_ + return static_cast<uint32>(oneof_case_offset_) +
static_cast<uint32>(oneof_descriptor->index() * sizeof(uint32)); static_cast<uint32>(
static_cast<size_t>(oneof_descriptor->index()) * sizeof(uint32));
} }
bool HasHasbits() const { return has_bits_offset_ != -1; } bool HasHasbits() const { return has_bits_offset_ != -1; }
@ -165,7 +167,7 @@ struct ReflectionSchema {
// Byte offset of the hasbits array. // Byte offset of the hasbits array.
uint32 HasBitsOffset() const { uint32 HasBitsOffset() const {
GOOGLE_DCHECK(HasHasbits()); GOOGLE_DCHECK(HasHasbits());
return has_bits_offset_; return static_cast<uint32>(has_bits_offset_);
} }
// The offset of the InternalMetadataWithArena member. // The offset of the InternalMetadataWithArena member.
@ -173,7 +175,7 @@ struct ReflectionSchema {
// The schema doesn't contain enough information to distinguish between // The schema doesn't contain enough information to distinguish between
// these two cases. // these two cases.
uint32 GetMetadataOffset() const { uint32 GetMetadataOffset() const {
return metadata_offset_; return static_cast<uint32>(metadata_offset_);
} }
// Whether this message has an ExtensionSet. // Whether this message has an ExtensionSet.
@ -182,7 +184,7 @@ struct ReflectionSchema {
// The offset of the ExtensionSet in this message. // The offset of the ExtensionSet in this message.
uint32 GetExtensionSetOffset() const { uint32 GetExtensionSetOffset() const {
GOOGLE_DCHECK(HasExtensionSet()); GOOGLE_DCHECK(HasExtensionSet());
return extensions_offset_; return static_cast<uint32>(extensions_offset_);
} }
// The off set of WeakFieldMap when the message contains weak fields. // The off set of WeakFieldMap when the message contains weak fields.

View file

@ -158,7 +158,7 @@ class Map {
private: private:
void Init() { void Init() {
elements_ = Arena::Create<InnerMap>(arena_, 0, hasher(), Allocator(arena_)); elements_ = Arena::Create<InnerMap>(arena_, 0u, hasher(), Allocator(arena_));
} }
// re-implement std::allocator to use arena allocator for memory allocation. // re-implement std::allocator to use arena allocator for memory allocation.

View file

@ -226,8 +226,10 @@ class MapEntryImpl : public Base {
size_t ByteSizeLong() const { size_t ByteSizeLong() const {
size_t size = 0; size_t size = 0;
size += has_key() ? kTagSize + KeyTypeHandler::ByteSize(key()) : 0; size += has_key() ?
size += has_value() ? kTagSize + ValueTypeHandler::ByteSize(value()) : 0; kTagSize + static_cast<size_t>(KeyTypeHandler::ByteSize(key())) : 0;
size += has_value() ?
kTagSize + static_cast<size_t>(ValueTypeHandler::ByteSize(value())) : 0;
return size; return size;
} }
@ -250,11 +252,10 @@ class MapEntryImpl : public Base {
int GetCachedSize() const { int GetCachedSize() const {
int size = 0; int size = 0;
size += has_key() size += has_key()
? static_cast<int>(kTagSize + KeyTypeHandler::GetCachedSize(key())) ? static_cast<int>(kTagSize) + KeyTypeHandler::GetCachedSize(key())
: 0; : 0;
size += has_value() size += has_value()
? static_cast<int>(kTagSize + ValueTypeHandler::GetCachedSize( ? static_cast<int>(kTagSize) + ValueTypeHandler::GetCachedSize(value())
value()))
: 0; : 0;
return size; return size;
} }

View file

@ -321,7 +321,8 @@ inline int
MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize( MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(
const MapEntryAccessorType& value) { const MapEntryAccessorType& value) {
return static_cast<int>( return static_cast<int>(
WireFormatLite::LengthDelimitedSize(value.GetCachedSize())); WireFormatLite::LengthDelimitedSize(
static_cast<size_t>(value.GetCachedSize())));
} }
#define GET_CACHED_SIZE(FieldType, DeclaredType) \ #define GET_CACHED_SIZE(FieldType, DeclaredType) \

View file

@ -1335,7 +1335,7 @@ void RepeatedField<Element>::Reserve(int new_size) {
static_cast<size_t>(new_size), static_cast<size_t>(new_size),
(std::numeric_limits<size_t>::max() - kRepHeaderSize) / sizeof(Element)) (std::numeric_limits<size_t>::max() - kRepHeaderSize) / sizeof(Element))
<< "Requested size is too large to fit into size_t."; << "Requested size is too large to fit into size_t.";
size_t bytes = kRepHeaderSize + sizeof(Element) * new_size; size_t bytes = kRepHeaderSize + sizeof(Element) * static_cast<size_t>(new_size);
if (arena == NULL) { if (arena == NULL) {
rep_ = static_cast<Rep*>(::operator new(bytes)); rep_ = static_cast<Rep*>(::operator new(bytes));
} else { } else {
@ -1399,7 +1399,7 @@ void ElementCopier<Element, HasTrivialCopy>::operator()(
template <typename Element> template <typename Element>
struct ElementCopier<Element, true> { struct ElementCopier<Element, true> {
void operator()(Element* to, const Element* from, int array_size) { void operator()(Element* to, const Element* from, int array_size) {
memcpy(to, from, array_size * sizeof(Element)); memcpy(to, from, static_cast<size_t>(array_size) * sizeof(Element));
} }
}; };
@ -1651,7 +1651,7 @@ inline void RepeatedPtrFieldBase::SwapElements(int index1, int index2) {
template <typename TypeHandler> template <typename TypeHandler>
inline size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const { inline size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const {
size_t allocated_bytes = total_size_ * sizeof(void*); size_t allocated_bytes = static_cast<size_t>(total_size_) * sizeof(void*);
if (rep_ != NULL) { if (rep_ != NULL) {
for (int i = 0; i < rep_->allocated_size; ++i) { for (int i = 0; i < rep_->allocated_size; ++i) {
allocated_bytes += TypeHandler::SpaceUsedLong( allocated_bytes += TypeHandler::SpaceUsedLong(

View file

@ -400,19 +400,19 @@ void Struct::SerializeWithCachedSizes(
for (::google::protobuf::Map< ::std::string, ::google::protobuf::Value >::const_iterator for (::google::protobuf::Map< ::std::string, ::google::protobuf::Value >::const_iterator
it = this->fields().begin(); it = this->fields().begin();
it != this->fields().end(); ++it, ++n) { it != this->fields().end(); ++it, ++n) {
items[n] = SortItem(&*it); items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
} }
::std::sort(&items[0], &items[n], Less()); ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry; ::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry;
for (size_type i = 0; i < n; i++) { for (size_type i = 0; i < n; i++) {
entry.reset(fields_.NewEntryWrapper( entry.reset(fields_.NewEntryWrapper(
items[i]->first, items[i]->second)); items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1, *entry, output); 1, *entry, output);
if (entry->GetArena() != NULL) { if (entry->GetArena() != NULL) {
entry.release(); entry.release();
} }
Utf8Check::Check(items[i]); Utf8Check::Check(items[static_cast<ptrdiff_t>(i)]);
} }
} else { } else {
::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry; ::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry;
@ -464,13 +464,13 @@ void Struct::SerializeWithCachedSizes(
for (::google::protobuf::Map< ::std::string, ::google::protobuf::Value >::const_iterator for (::google::protobuf::Map< ::std::string, ::google::protobuf::Value >::const_iterator
it = this->fields().begin(); it = this->fields().begin();
it != this->fields().end(); ++it, ++n) { it != this->fields().end(); ++it, ++n) {
items[n] = SortItem(&*it); items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
} }
::std::sort(&items[0], &items[n], Less()); ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry; ::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry;
for (size_type i = 0; i < n; i++) { for (size_type i = 0; i < n; i++) {
entry.reset(fields_.NewEntryWrapper( entry.reset(fields_.NewEntryWrapper(
items[i]->first, items[i]->second)); items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second));
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
1, *entry, deterministic, target); 1, *entry, deterministic, target);
@ -478,7 +478,7 @@ void Struct::SerializeWithCachedSizes(
if (entry->GetArena() != NULL) { if (entry->GetArena() != NULL) {
entry.release(); entry.release();
} }
Utf8Check::Check(items[i]); Utf8Check::Check(items[static_cast<ptrdiff_t>(i)]);
} }
} else { } else {
::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry; ::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry;
@ -1673,9 +1673,10 @@ void ListValue::SerializeWithCachedSizes(
(void) cached_has_bits; (void) cached_has_bits;
// repeated .google.protobuf.Value values = 1; // repeated .google.protobuf.Value values = 1;
for (unsigned int i = 0, n = this->values_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->values_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1, this->values(i), output); 1, this->values(static_cast<int>(i)), output);
} }
// @@protoc_insertion_point(serialize_end:google.protobuf.ListValue) // @@protoc_insertion_point(serialize_end:google.protobuf.ListValue)
@ -1688,10 +1689,11 @@ void ListValue::SerializeWithCachedSizes(
(void) cached_has_bits; (void) cached_has_bits;
// repeated .google.protobuf.Value values = 1; // repeated .google.protobuf.Value values = 1;
for (unsigned int i = 0, n = this->values_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->values_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
1, this->values(i), deterministic, target); 1, this->values(static_cast<int>(i)), deterministic, target);
} }
// @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ListValue) // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ListValue)
@ -1704,12 +1706,12 @@ size_t ListValue::ByteSizeLong() const {
// repeated .google.protobuf.Value values = 1; // repeated .google.protobuf.Value values = 1;
{ {
unsigned int count = this->values_size(); unsigned int count = static_cast<unsigned int>(this->values_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->values(i)); this->values(static_cast<int>(i)));
} }
} }

View file

@ -111,7 +111,8 @@ inline int fastmemcmp_inlined(const char *a, const char *b, size_t n) {
b += sizeof(uint32); b += sizeof(uint32);
} }
while (a < a_limit) { while (a < a_limit) {
int d = static_cast<uint32>(*a++) - static_cast<uint32>(*b++); int d =
static_cast<int>(static_cast<uint32>(*a++) - static_cast<uint32>(*b++));
if (d) return d; if (d) return d;
} }
return 0; return 0;

View file

@ -348,7 +348,7 @@ struct hash<const char*> {
inline size_t operator()(const char* str) const { inline size_t operator()(const char* str) const {
size_t result = 0; size_t result = 0;
for (; *str != '\0'; str++) { for (; *str != '\0'; str++) {
result = 5 * result + *str; result = 5 * result + static_cast<size_t>(*str);
} }
return result; return result;
} }

View file

@ -354,7 +354,7 @@ class Bits {
public: public:
static uint32 Log2FloorNonZero(uint32 n) { static uint32 Log2FloorNonZero(uint32 n) {
#if defined(__GNUC__) #if defined(__GNUC__)
return 31 ^ __builtin_clz(n); return 31 ^ static_cast<uint32>(__builtin_clz(n));
#elif defined(COMPILER_MSVC) && defined(_M_IX86) #elif defined(COMPILER_MSVC) && defined(_M_IX86)
_asm { _asm {
bsr ebx, n bsr ebx, n
@ -373,7 +373,7 @@ class Bits {
// To work around this, when we build for NaCl we use the portable // To work around this, when we build for NaCl we use the portable
// implementation instead. // implementation instead.
#if defined(__GNUC__) && !defined(GOOGLE_PROTOBUF_OS_NACL) #if defined(__GNUC__) && !defined(GOOGLE_PROTOBUF_OS_NACL)
return 63 ^ __builtin_clzll(n); return 63 ^ static_cast<uint32>(__builtin_clzll(n));
#else #else
return Log2FloorNonZero64_Portable(n); return Log2FloorNonZero64_Portable(n);
#endif #endif
@ -400,9 +400,9 @@ class Bits {
const uint32 topbits = static_cast<uint32>(n >> 32); const uint32 topbits = static_cast<uint32>(n >> 32);
if (topbits == 0) { if (topbits == 0) {
// Top bits are zero, so scan in bottom bits // Top bits are zero, so scan in bottom bits
return Log2FloorNonZero(static_cast<uint32>(n)); return static_cast<int>(Log2FloorNonZero(static_cast<uint32>(n)));
} else { } else {
return 32 + Log2FloorNonZero(topbits); return 32 + static_cast<int>(Log2FloorNonZero(topbits));
} }
} }
}; };

View file

@ -292,7 +292,7 @@ class LIBPROTOBUF_EXPORT StringPiece {
int compare(StringPiece x) const { int compare(StringPiece x) const {
const stringpiece_ssize_type min_size = const stringpiece_ssize_type min_size =
length_ < x.length_ ? length_ : x.length_; length_ < x.length_ ? length_ : x.length_;
int r = memcmp(ptr_, x.ptr_, min_size); int r = memcmp(ptr_, x.ptr_, static_cast<size_t>(min_size));
if (r < 0) return -1; if (r < 0) return -1;
if (r > 0) return 1; if (r > 0) return 1;
if (length_ < x.length_) return -1; if (length_ < x.length_) return -1;
@ -310,7 +310,7 @@ class LIBPROTOBUF_EXPORT StringPiece {
// "as_string()" method defined here for existing code. // "as_string()" method defined here for existing code.
string ToString() const { string ToString() const {
if (ptr_ == NULL) return string(); if (ptr_ == NULL) return string();
return string(data(), size()); return string(data(), static_cast<size_type>(size()));
} }
operator string() const { operator string() const {
@ -321,12 +321,14 @@ class LIBPROTOBUF_EXPORT StringPiece {
void AppendToString(string* target) const; void AppendToString(string* target) const;
bool starts_with(StringPiece x) const { bool starts_with(StringPiece x) const {
return (length_ >= x.length_) && (memcmp(ptr_, x.ptr_, x.length_) == 0); return (length_ >= x.length_) &&
(memcmp(ptr_, x.ptr_, static_cast<size_t>(x.length_)) == 0);
} }
bool ends_with(StringPiece x) const { bool ends_with(StringPiece x) const {
return ((length_ >= x.length_) && return ((length_ >= x.length_) &&
(memcmp(ptr_ + (length_-x.length_), x.ptr_, x.length_) == 0)); (memcmp(ptr_ + (length_-x.length_), x.ptr_,
static_cast<size_t>(x.length_)) == 0));
} }
// Checks whether StringPiece starts with x and if so advances the beginning // Checks whether StringPiece starts with x and if so advances the beginning
@ -398,7 +400,7 @@ inline bool operator==(StringPiece x, StringPiece y) {
} }
return x.data() == y.data() || len <= 0 || return x.data() == y.data() || len <= 0 ||
memcmp(x.data(), y.data(), len) == 0; memcmp(x.data(), y.data(), static_cast<size_t>(len)) == 0;
} }
inline bool operator!=(StringPiece x, StringPiece y) { inline bool operator!=(StringPiece x, StringPiece y) {
@ -408,7 +410,7 @@ inline bool operator!=(StringPiece x, StringPiece y) {
inline bool operator<(StringPiece x, StringPiece y) { inline bool operator<(StringPiece x, StringPiece y) {
const stringpiece_ssize_type min_size = const stringpiece_ssize_type min_size =
x.size() < y.size() ? x.size() : y.size(); x.size() < y.size() ? x.size() : y.size();
const int r = memcmp(x.data(), y.data(), min_size); const int r = memcmp(x.data(), y.data(), static_cast<size_t>(min_size));
return (r < 0) || (r == 0 && x.size() < y.size()); return (r < 0) || (r == 0 && x.size() < y.size());
} }
@ -458,7 +460,9 @@ struct StringPiecePod {
return size_; return size_;
} }
std::string ToString() const { return std::string(data_, size_); } std::string ToString() const {
return std::string(data_, static_cast<size_t>(size_));
}
private: private:
const char* data_; const char* data_;
stringpiece_ssize_type size_; stringpiece_ssize_type size_;
@ -473,7 +477,7 @@ template<> struct hash<StringPiece> {
size_t operator()(const StringPiece& s) const { size_t operator()(const StringPiece& s) const {
size_t result = 0; size_t result = 0;
for (const char *str = s.data(), *end = str + s.size(); str < end; str++) { for (const char *str = s.data(), *end = str + s.size(); str < end; str++) {
result = 5 * result + *str; result = 5 * result + static_cast<size_t>(*str);
} }
return result; return result;
} }

View file

@ -164,14 +164,15 @@ Timestamp::Timestamp(const Timestamp& from)
_cached_size_(0) { _cached_size_(0) {
_internal_metadata_.MergeFrom(from._internal_metadata_); _internal_metadata_.MergeFrom(from._internal_metadata_);
::memcpy(&seconds_, &from.seconds_, ::memcpy(&seconds_, &from.seconds_,
reinterpret_cast<char*>(&nanos_) - static_cast<size_t>(reinterpret_cast<char*>(&nanos_) -
reinterpret_cast<char*>(&seconds_) + sizeof(nanos_)); reinterpret_cast<char*>(&seconds_)) + sizeof(nanos_));
// @@protoc_insertion_point(copy_constructor:google.protobuf.Timestamp) // @@protoc_insertion_point(copy_constructor:google.protobuf.Timestamp)
} }
void Timestamp::SharedCtor() { void Timestamp::SharedCtor() {
::memset(&seconds_, 0, reinterpret_cast<char*>(&nanos_) - ::memset(&seconds_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&seconds_) + sizeof(nanos_)); reinterpret_cast<char*>(&nanos_) -
reinterpret_cast<char*>(&seconds_)) + sizeof(nanos_));
_cached_size_ = 0; _cached_size_ = 0;
} }
@ -215,8 +216,9 @@ Timestamp* Timestamp::New(::google::protobuf::Arena* arena) const {
void Timestamp::Clear() { void Timestamp::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.Timestamp) // @@protoc_insertion_point(message_clear_start:google.protobuf.Timestamp)
::memset(&seconds_, 0, reinterpret_cast<char*>(&nanos_) - ::memset(&seconds_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&seconds_) + sizeof(nanos_)); reinterpret_cast<char*>(&nanos_) -
reinterpret_cast<char*>(&seconds_)) + sizeof(nanos_));
} }
bool Timestamp::MergePartialFromCodedStream( bool Timestamp::MergePartialFromCodedStream(

View file

@ -437,8 +437,9 @@ Type::Type(const Type& from)
void Type::SharedCtor() { void Type::SharedCtor() {
name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(&source_context_, 0, reinterpret_cast<char*>(&syntax_) - ::memset(&source_context_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&source_context_) + sizeof(syntax_)); reinterpret_cast<char*>(&syntax_) -
reinterpret_cast<char*>(&source_context_)) + sizeof(syntax_));
_cached_size_ = 0; _cached_size_ = 0;
} }
@ -629,9 +630,10 @@ void Type::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Field fields = 2; // repeated .google.protobuf.Field fields = 2;
for (unsigned int i = 0, n = this->fields_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->fields_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2, this->fields(i), output); 2, this->fields(static_cast<int>(i)), output);
} }
// repeated string oneofs = 3; // repeated string oneofs = 3;
@ -645,9 +647,10 @@ void Type::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Option options = 4; // repeated .google.protobuf.Option options = 4;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
4, this->options(i), output); 4, this->options(static_cast<int>(i)), output);
} }
// .google.protobuf.SourceContext source_context = 5; // .google.protobuf.SourceContext source_context = 5;
@ -683,10 +686,11 @@ void Type::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Field fields = 2; // repeated .google.protobuf.Field fields = 2;
for (unsigned int i = 0, n = this->fields_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->fields_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
2, this->fields(i), deterministic, target); 2, this->fields(static_cast<int>(i)), deterministic, target);
} }
// repeated string oneofs = 3; // repeated string oneofs = 3;
@ -700,10 +704,11 @@ void Type::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Option options = 4; // repeated .google.protobuf.Option options = 4;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
4, this->options(i), deterministic, target); 4, this->options(static_cast<int>(i)), deterministic, target);
} }
// .google.protobuf.SourceContext source_context = 5; // .google.protobuf.SourceContext source_context = 5;
@ -729,12 +734,12 @@ size_t Type::ByteSizeLong() const {
// repeated .google.protobuf.Field fields = 2; // repeated .google.protobuf.Field fields = 2;
{ {
unsigned int count = this->fields_size(); unsigned int count = static_cast<unsigned int>(this->fields_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->fields(i)); this->fields(static_cast<int>(i)));
} }
} }
@ -748,12 +753,12 @@ size_t Type::ByteSizeLong() const {
// repeated .google.protobuf.Option options = 4; // repeated .google.protobuf.Option options = 4;
{ {
unsigned int count = this->options_size(); unsigned int count = static_cast<unsigned int>(this->options_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->options(i)); this->options(static_cast<int>(i)));
} }
} }
@ -1199,8 +1204,8 @@ Field::Field(const Field& from)
GetArenaNoVirtual()); GetArenaNoVirtual());
} }
::memcpy(&kind_, &from.kind_, ::memcpy(&kind_, &from.kind_,
reinterpret_cast<char*>(&packed_) - static_cast<size_t>(reinterpret_cast<char*>(&packed_) -
reinterpret_cast<char*>(&kind_) + sizeof(packed_)); reinterpret_cast<char*>(&kind_)) + sizeof(packed_));
// @@protoc_insertion_point(copy_constructor:google.protobuf.Field) // @@protoc_insertion_point(copy_constructor:google.protobuf.Field)
} }
@ -1209,8 +1214,9 @@ void Field::SharedCtor() {
type_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); type_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
json_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); json_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
default_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); default_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(&kind_, 0, reinterpret_cast<char*>(&packed_) - ::memset(&kind_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&kind_) + sizeof(packed_)); reinterpret_cast<char*>(&packed_) -
reinterpret_cast<char*>(&kind_)) + sizeof(packed_));
_cached_size_ = 0; _cached_size_ = 0;
} }
@ -1263,8 +1269,9 @@ void Field::Clear() {
type_url_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); type_url_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
json_name_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); json_name_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
default_value_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); default_value_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
::memset(&kind_, 0, reinterpret_cast<char*>(&packed_) - ::memset(&kind_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&kind_) + sizeof(packed_)); reinterpret_cast<char*>(&packed_) -
reinterpret_cast<char*>(&kind_)) + sizeof(packed_));
} }
bool Field::MergePartialFromCodedStream( bool Field::MergePartialFromCodedStream(
@ -1500,9 +1507,10 @@ void Field::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Option options = 9; // repeated .google.protobuf.Option options = 9;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
9, this->options(i), output); 9, this->options(static_cast<int>(i)), output);
} }
// string json_name = 10; // string json_name = 10;
@ -1584,10 +1592,11 @@ void Field::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Option options = 9; // repeated .google.protobuf.Option options = 9;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
9, this->options(i), deterministic, target); 9, this->options(static_cast<int>(i)), deterministic, target);
} }
// string json_name = 10; // string json_name = 10;
@ -1622,12 +1631,12 @@ size_t Field::ByteSizeLong() const {
// repeated .google.protobuf.Option options = 9; // repeated .google.protobuf.Option options = 9;
{ {
unsigned int count = this->options_size(); unsigned int count = static_cast<unsigned int>(this->options_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->options(i)); this->options(static_cast<int>(i)));
} }
} }
@ -2264,8 +2273,9 @@ Enum::Enum(const Enum& from)
void Enum::SharedCtor() { void Enum::SharedCtor() {
name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(&source_context_, 0, reinterpret_cast<char*>(&syntax_) - ::memset(&source_context_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&source_context_) + sizeof(syntax_)); reinterpret_cast<char*>(&syntax_) -
reinterpret_cast<char*>(&source_context_)) + sizeof(syntax_));
_cached_size_ = 0; _cached_size_ = 0;
} }
@ -2438,15 +2448,17 @@ void Enum::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.EnumValue enumvalue = 2; // repeated .google.protobuf.EnumValue enumvalue = 2;
for (unsigned int i = 0, n = this->enumvalue_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->enumvalue_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2, this->enumvalue(i), output); 2, this->enumvalue(static_cast<int>(i)), output);
} }
// repeated .google.protobuf.Option options = 3; // repeated .google.protobuf.Option options = 3;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3, this->options(i), output); 3, this->options(static_cast<int>(i)), output);
} }
// .google.protobuf.SourceContext source_context = 4; // .google.protobuf.SourceContext source_context = 4;
@ -2482,17 +2494,19 @@ void Enum::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.EnumValue enumvalue = 2; // repeated .google.protobuf.EnumValue enumvalue = 2;
for (unsigned int i = 0, n = this->enumvalue_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->enumvalue_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
2, this->enumvalue(i), deterministic, target); 2, this->enumvalue(static_cast<int>(i)), deterministic, target);
} }
// repeated .google.protobuf.Option options = 3; // repeated .google.protobuf.Option options = 3;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
3, this->options(i), deterministic, target); 3, this->options(static_cast<int>(i)), deterministic, target);
} }
// .google.protobuf.SourceContext source_context = 4; // .google.protobuf.SourceContext source_context = 4;
@ -2518,23 +2532,23 @@ size_t Enum::ByteSizeLong() const {
// repeated .google.protobuf.EnumValue enumvalue = 2; // repeated .google.protobuf.EnumValue enumvalue = 2;
{ {
unsigned int count = this->enumvalue_size(); unsigned int count = static_cast<unsigned int>(this->enumvalue_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->enumvalue(i)); this->enumvalue(static_cast<int>(i)));
} }
} }
// repeated .google.protobuf.Option options = 3; // repeated .google.protobuf.Option options = 3;
{ {
unsigned int count = this->options_size(); unsigned int count = static_cast<unsigned int>(this->options_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->options(i)); this->options(static_cast<int>(i)));
} }
} }
@ -3037,9 +3051,10 @@ void EnumValue::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Option options = 3; // repeated .google.protobuf.Option options = 3;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3, this->options(i), output); 3, this->options(static_cast<int>(i)), output);
} }
// @@protoc_insertion_point(serialize_end:google.protobuf.EnumValue) // @@protoc_insertion_point(serialize_end:google.protobuf.EnumValue)
@ -3068,10 +3083,11 @@ void EnumValue::SerializeWithCachedSizes(
} }
// repeated .google.protobuf.Option options = 3; // repeated .google.protobuf.Option options = 3;
for (unsigned int i = 0, n = this->options_size(); i < n; i++) { for (unsigned int i = 0,
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
target = ::google::protobuf::internal::WireFormatLite:: target = ::google::protobuf::internal::WireFormatLite::
InternalWriteMessageNoVirtualToArray( InternalWriteMessageNoVirtualToArray(
3, this->options(i), deterministic, target); 3, this->options(static_cast<int>(i)), deterministic, target);
} }
// @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValue) // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValue)
@ -3084,12 +3100,12 @@ size_t EnumValue::ByteSizeLong() const {
// repeated .google.protobuf.Option options = 3; // repeated .google.protobuf.Option options = 3;
{ {
unsigned int count = this->options_size(); unsigned int count = static_cast<unsigned int>(this->options_size());
total_size += 1UL * count; total_size += 1UL * count;
for (unsigned int i = 0; i < count; i++) { for (unsigned int i = 0; i < count; i++) {
total_size += total_size +=
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
this->options(i)); this->options(static_cast<int>(i)));
} }
} }

View file

@ -282,10 +282,10 @@ inline int UnknownFieldSet::field_count() const {
} }
inline const UnknownField& UnknownFieldSet::field(int index) const { inline const UnknownField& UnknownFieldSet::field(int index) const {
GOOGLE_DCHECK(fields_ != NULL); GOOGLE_DCHECK(fields_ != NULL);
return (*fields_)[index]; return (*fields_)[static_cast<size_t>(index)];
} }
inline UnknownField* UnknownFieldSet::mutable_field(int index) { inline UnknownField* UnknownFieldSet::mutable_field(int index) {
return &(*fields_)[index]; return &(*fields_)[static_cast<size_t>(index)];
} }
inline void UnknownFieldSet::AddLengthDelimited( inline void UnknownFieldSet::AddLengthDelimited(
@ -296,7 +296,7 @@ inline void UnknownFieldSet::AddLengthDelimited(
inline int UnknownField::number() const { return number_; } inline int UnknownField::number() const { return static_cast<int>(number_); }
inline UnknownField::Type UnknownField::type() const { inline UnknownField::Type UnknownField::type() const {
return static_cast<Type>(type_); return static_cast<Type>(type_);
} }

View file

@ -787,7 +787,7 @@ inline int WireFormatLite::GetTagFieldNumber(uint32 tag) {
inline size_t WireFormatLite::TagSize(int field_number, inline size_t WireFormatLite::TagSize(int field_number,
WireFormatLite::FieldType type) { WireFormatLite::FieldType type) {
size_t result = io::CodedOutputStream::VarintSize32( size_t result = io::CodedOutputStream::VarintSize32(
field_number << kTagTypeBits); static_cast<uint32>(field_number << kTagTypeBits));
if (type == TYPE_GROUP) { if (type == TYPE_GROUP) {
// Groups have both a start and an end tag. // Groups have both a start and an end tag.
return result * 2; return result * 2;
@ -846,20 +846,20 @@ inline double WireFormatLite::DecodeDouble(uint64 value) {
inline uint32 WireFormatLite::ZigZagEncode32(int32 n) { inline uint32 WireFormatLite::ZigZagEncode32(int32 n) {
// Note: the right-shift must be arithmetic // Note: the right-shift must be arithmetic
return (static_cast<uint32>(n) << 1) ^ (n >> 31); return static_cast<uint32>((n << 1) ^ (n >> 31));
} }
inline int32 WireFormatLite::ZigZagDecode32(uint32 n) { inline int32 WireFormatLite::ZigZagDecode32(uint32 n) {
return (n >> 1) ^ -static_cast<int32>(n & 1); return static_cast<int32>(n >> 1) ^ -static_cast<int32>(n & 1);
} }
inline uint64 WireFormatLite::ZigZagEncode64(int64 n) { inline uint64 WireFormatLite::ZigZagEncode64(int64 n) {
// Note: the right-shift must be arithmetic // Note: the right-shift must be arithmetic
return (static_cast<uint64>(n) << 1) ^ (n >> 63); return static_cast<uint64>((n << 1) ^ (n >> 63));
} }
inline int64 WireFormatLite::ZigZagDecode64(uint64 n) { inline int64 WireFormatLite::ZigZagDecode64(uint64 n) {
return (n >> 1) ^ -static_cast<int64>(n & 1); return static_cast<int64>(n >> 1) ^ -static_cast<int64>(n & 1);
} }
// String is for UTF-8 text only, but, even so, ReadString() can simply // String is for UTF-8 text only, but, even so, ReadString() can simply

View file

@ -696,7 +696,7 @@ inline uint8* WireFormatLite::WriteFixedNoTagToArray(
const T* ii = value.unsafe_data(); const T* ii = value.unsafe_data();
const int bytes = n * static_cast<int>(sizeof(ii[0])); const int bytes = n * static_cast<int>(sizeof(ii[0]));
memcpy(target, ii, bytes); memcpy(target, ii, static_cast<size_t>(bytes));
return target + bytes; return target + bytes;
#else #else
return WritePrimitiveNoTagToArray(value, Writer, target); return WritePrimitiveNoTagToArray(value, Writer, target);
@ -954,7 +954,7 @@ inline uint8* WireFormatLite::InternalWriteMessageToArray(
uint8* target) { uint8* target) {
target = WriteTagToArray(field_number, WIRETYPE_LENGTH_DELIMITED, target); target = WriteTagToArray(field_number, WIRETYPE_LENGTH_DELIMITED, target);
target = io::CodedOutputStream::WriteVarint32ToArray( target = io::CodedOutputStream::WriteVarint32ToArray(
value.GetCachedSize(), target); static_cast<uint32>(value.GetCachedSize()), target);
return value.InternalSerializeWithCachedSizesToArray(deterministic, target); return value.InternalSerializeWithCachedSizesToArray(deterministic, target);
} }
@ -975,7 +975,9 @@ inline uint8* WireFormatLite::InternalWriteMessageNoVirtualToArray(
bool deterministic, uint8* target) { bool deterministic, uint8* target) {
target = WriteTagToArray(field_number, WIRETYPE_LENGTH_DELIMITED, target); target = WriteTagToArray(field_number, WIRETYPE_LENGTH_DELIMITED, target);
target = io::CodedOutputStream::WriteVarint32ToArray( target = io::CodedOutputStream::WriteVarint32ToArray(
value.MessageType_WorkAroundCppLookupDefect::GetCachedSize(), target); static_cast<uint32>(
value.MessageType_WorkAroundCppLookupDefect::GetCachedSize()),
target);
return value.MessageType_WorkAroundCppLookupDefect:: return value.MessageType_WorkAroundCppLookupDefect::
InternalSerializeWithCachedSizesToArray(deterministic, target); InternalSerializeWithCachedSizesToArray(deterministic, target);
} }