aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/compiler/cpp/cpp_enum_field.cc
diff options
context:
space:
mode:
authorGravatar kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2009-04-16 22:43:40 +0000
committerGravatar kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2009-04-16 22:43:40 +0000
commiteb26a1efdef3f1f5e77807d456a08f3c76cc5207 (patch)
tree467213c4581c8a18683cd730dddad7951cf2c366 /src/google/protobuf/compiler/cpp/cpp_enum_field.cc
parente59427a62cdd93ac8b18396d19f6dc74e979df95 (diff)
Commit Michael Poole's patch for explicitly constructing all class fields in
generated code.
Diffstat (limited to 'src/google/protobuf/compiler/cpp/cpp_enum_field.cc')
-rw-r--r--src/google/protobuf/compiler/cpp/cpp_enum_field.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/google/protobuf/compiler/cpp/cpp_enum_field.cc b/src/google/protobuf/compiler/cpp/cpp_enum_field.cc
index 19779a8a..a78bf887 100644
--- a/src/google/protobuf/compiler/cpp/cpp_enum_field.cc
+++ b/src/google/protobuf/compiler/cpp/cpp_enum_field.cc
@@ -218,7 +218,11 @@ GenerateSwappingCode(io::Printer* printer) const {
void RepeatedEnumFieldGenerator::
GenerateInitializer(io::Printer* printer) const {
- // Not needed for repeated fields.
+ printer->Print(variables_, ",\n$name$_()");
+ if (descriptor_->options().packed() &&
+ descriptor_->file()->options().optimize_for() == FileOptions::SPEED) {
+ printer->Print(variables_, ",\n_$name$_cached_byte_size_()");
+ }
}
void RepeatedEnumFieldGenerator::