From eb26a1efdef3f1f5e77807d456a08f3c76cc5207 Mon Sep 17 00:00:00 2001 From: "kenton@google.com" Date: Thu, 16 Apr 2009 22:43:40 +0000 Subject: Commit Michael Poole's patch for explicitly constructing all class fields in generated code. --- src/google/protobuf/compiler/cpp/cpp_enum_field.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/google/protobuf/compiler/cpp/cpp_enum_field.cc') 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:: -- cgit v1.2.3