aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/compiler/cpp/cpp_message.cc
diff options
context:
space:
mode:
authorAdam Cozzette <acozzette@google.com>2016-11-22 15:44:54 -0800
committerAdam Cozzette <acozzette@google.com>2016-11-22 16:23:55 -0800
commitdb35fe735a6522089250a0a0804fb1fd18340666 (patch)
tree7b1532068eeadef058e1b5bf40056cbebfcee727 /src/google/protobuf/compiler/cpp/cpp_message.cc
parenta7f300d6ffe2fbc6bdd10495efedbe6c86a29f49 (diff)
downloadprotobuf-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.cc8
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)));