diff options
author | Adam Cozzette <acozzette@google.com> | 2016-11-22 15:44:54 -0800 |
---|---|---|
committer | Adam Cozzette <acozzette@google.com> | 2016-11-22 16:23:55 -0800 |
commit | db35fe735a6522089250a0a0804fb1fd18340666 (patch) | |
tree | 7b1532068eeadef058e1b5bf40056cbebfcee727 /src/google/protobuf/compiler/cpp/cpp_message.cc | |
parent | a7f300d6ffe2fbc6bdd10495efedbe6c86a29f49 (diff) | |
download | protobuf-db35fe735a6522089250a0a0804fb1fd18340666.tar.gz protobuf-db35fe735a6522089250a0a0804fb1fd18340666.tar.bz2 protobuf-db35fe735a6522089250a0a0804fb1fd18340666.zip |
Add a "u" suffix to tag numbers in generated code
This seems to be necessary to prevent warnings in some compiler
configurations, particularly for tag numbers that are too large to fit
in a signed 32-bit int.
Diffstat (limited to 'src/google/protobuf/compiler/cpp/cpp_message.cc')
-rw-r--r-- | src/google/protobuf/compiler/cpp/cpp_message.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/google/protobuf/compiler/cpp/cpp_message.cc b/src/google/protobuf/compiler/cpp/cpp_message.cc index d878c4de..2b71acb5 100644 --- a/src/google/protobuf/compiler/cpp/cpp_message.cc +++ b/src/google/protobuf/compiler/cpp/cpp_message.cc @@ -2984,7 +2984,7 @@ GenerateMergeFromCodedStream(io::Printer* printer) { } printer->Print("::std::pair< ::google::protobuf::uint32, bool> p = " - "input->ReadTagWithCutoff$lasttag$($max$);\n" + "input->ReadTagWithCutoff$lasttag$($max$u);\n" "tag = p.first;\n" "if (!p.second) goto handle_unusual;\n", "max", SimpleItoa(maxtag <= kCutoff0 ? kCutoff0 : @@ -3037,7 +3037,7 @@ GenerateMergeFromCodedStream(io::Printer* printer) { const FieldGenerator& field_generator = field_generators_.get(field); // Emit code to parse the common, expected case. - printer->Print("if (tag == $commontag$) {\n", + printer->Print("if (tag == $commontag$u) {\n", "commontag", SimpleItoa(WireFormat::MakeTag(field))); if (loops) { @@ -3056,7 +3056,7 @@ GenerateMergeFromCodedStream(io::Printer* printer) { if (field->is_packed()) { internal::WireFormatLite::WireType wiretype = WireFormat::WireTypeForFieldType(field->type()); - printer->Print("} else if (tag == $uncommontag$) {\n", + printer->Print("} else if (tag == $uncommontag$u) {\n", "uncommontag", SimpleItoa( internal::WireFormatLite::MakeTag( field->number(), wiretype))); @@ -3066,7 +3066,7 @@ GenerateMergeFromCodedStream(io::Printer* printer) { } else if (field->is_packable() && !field->is_packed()) { internal::WireFormatLite::WireType wiretype = internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED; - printer->Print("} else if (tag == $uncommontag$) {\n", + printer->Print("} else if (tag == $uncommontag$u) {\n", "uncommontag", SimpleItoa( internal::WireFormatLite::MakeTag( field->number(), wiretype))); |