| Index: third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc
|
| diff --git a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc
|
| index 2ad4d36a5834d6e5fcad91ad4f412c09e85d7d63..6d844cc2748d75c787ce04450cc9c696be9b4e31 100644
|
| --- a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc
|
| +++ b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc
|
| @@ -415,7 +415,8 @@ string DefaultValue(const FieldDescriptor* field) {
|
| CEscape(field->default_value_string())) +
|
| "\"";
|
| case FieldDescriptor::CPPTYPE_MESSAGE:
|
| - return FieldMessageTypeName(field) + "::default_instance()";
|
| + return "*" + FieldMessageTypeName(field) +
|
| + "::internal_default_instance()";
|
| }
|
| // Can't actually get here; make compiler happy. (We could add a default
|
| // case above but then we wouldn't get the nice compiler warning when a
|
| @@ -444,6 +445,10 @@ string GlobalAddDescriptorsName(const string& filename) {
|
| return "protobuf_AddDesc_" + FilenameIdentifier(filename);
|
| }
|
|
|
| +string GlobalInitDefaultsName(const string& filename) {
|
| + return "protobuf_InitDefaults_" + FilenameIdentifier(filename);
|
| +}
|
| +
|
| // Return the name of the AssignDescriptors() function for a given file.
|
| string GlobalAssignDescriptorsName(const string& filename) {
|
| return "protobuf_AssignDesc_" + FilenameIdentifier(filename);
|
| @@ -500,40 +505,6 @@ bool StaticInitializersForced(const FileDescriptor* file,
|
| return false;
|
| }
|
|
|
| -void PrintHandlingOptionalStaticInitializers(
|
| - const FileDescriptor* file, const Options& options, io::Printer* printer,
|
| - const char* with_static_init, const char* without_static_init,
|
| - const char* var1, const string& val1, const char* var2,
|
| - const string& val2) {
|
| - map<string, string> vars;
|
| - if (var1) {
|
| - vars[var1] = val1;
|
| - }
|
| - if (var2) {
|
| - vars[var2] = val2;
|
| - }
|
| - PrintHandlingOptionalStaticInitializers(
|
| - vars, file, options, printer, with_static_init, without_static_init);
|
| -}
|
| -
|
| -void PrintHandlingOptionalStaticInitializers(const map<string, string>& vars,
|
| - const FileDescriptor* file,
|
| - const Options& options,
|
| - io::Printer* printer,
|
| - const char* with_static_init,
|
| - const char* without_static_init) {
|
| - if (StaticInitializersForced(file, options)) {
|
| - printer->Print(vars, with_static_init);
|
| - } else {
|
| - printer->Print(vars, (string(
|
| - "#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER\n") +
|
| - without_static_init +
|
| - "#else\n" +
|
| - with_static_init +
|
| - "#endif\n").c_str());
|
| - }
|
| -}
|
| -
|
|
|
| static bool HasMapFields(const Descriptor* descriptor) {
|
| for (int i = 0; i < descriptor->field_count(); ++i) {
|
|
|