Index: third_party/protobuf/src/google/protobuf/generated_message_util.cc |
diff --git a/third_party/protobuf/src/google/protobuf/generated_message_util.cc b/third_party/protobuf/src/google/protobuf/generated_message_util.cc |
index 683a9d5c738c7c81ce9d2d03dc284844d773ed89..334051a013e4098afea6eed399a54caae30ac729 100644 |
--- a/third_party/protobuf/src/google/protobuf/generated_message_util.cc |
+++ b/third_party/protobuf/src/google/protobuf/generated_message_util.cc |
@@ -48,13 +48,15 @@ double NaN() { |
return std::numeric_limits<double>::quiet_NaN(); |
} |
-ExplicitlyConstructed< ::std::string> fixed_address_empty_string; |
+const ::std::string* empty_string_; |
GOOGLE_PROTOBUF_DECLARE_ONCE(empty_string_once_init_); |
-void DeleteEmptyString() { fixed_address_empty_string.Shutdown(); } |
+void DeleteEmptyString() { |
+ delete empty_string_; |
+} |
void InitEmptyString() { |
- fixed_address_empty_string.DefaultConstruct(); |
+ empty_string_ = new string; |
OnShutdown(&DeleteEmptyString); |
} |
@@ -77,10 +79,6 @@ int StringSpaceUsedExcludingSelf(const string& str) { |
-void InitProtobufDefaults() { |
- GetEmptyString(); |
-} |
- |
} // namespace internal |
} // namespace protobuf |
} // namespace google |