summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h')
-rw-r--r--chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h b/chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h
index b2fb8f0be2a..098f3219806 100644
--- a/chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h
+++ b/chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h
@@ -41,6 +41,7 @@
#include <string>
#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/once.h>
namespace google {
namespace protobuf {
namespace internal {
@@ -59,8 +60,17 @@ namespace internal {
LIBPROTOBUF_EXPORT double Infinity();
LIBPROTOBUF_EXPORT double NaN();
-// Constant used for empty default strings.
-LIBPROTOBUF_EXPORT extern const ::std::string kEmptyString;
+// Default empty string object. Don't use the pointer directly. Instead, call
+// GetEmptyString() to get the reference.
+LIBPROTOBUF_EXPORT extern const ::std::string* empty_string_;
+LIBPROTOBUF_EXPORT extern ProtobufOnceType empty_string_once_init_;
+
+LIBPROTOBUF_EXPORT void InitEmptyString();
+
+LIBPROTOBUF_EXPORT inline const ::std::string& GetEmptyString() {
+ GoogleOnceInit(&empty_string_once_init_, &InitEmptyString);
+ return *empty_string_;
+}
// Defined in generated_message_reflection.cc -- not actually part of the lite
// library.