From 5304c1b047782c367e014d8ec7dc9563b43c1157 Mon Sep 17 00:00:00 2001 From: "eugenis@chromium.org" Date: Fri, 22 Mar 2013 09:30:00 +0000 Subject: third-party/protobuf: Cherry-pick r475 and r476 from upstream. These changes are required to build with libcxx. R=rsimha@chromium.org,brettw@chromium.org TBR=cpu@chromium.org BUG=178409 Review URL: https://codereview.chromium.org/12854003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189778 0039d316-1c4b-4281-b951-d872f2087c98 --- .../protobuf/src/google/protobuf/compiler/java/java_service.cc | 6 ++++++ third_party/protobuf/src/google/protobuf/extension_set.h | 2 +- third_party/protobuf/src/google/protobuf/io/coded_stream_inl.h | 8 ++++++-- third_party/protobuf/src/google/protobuf/message.cc | 1 + 4 files changed, 14 insertions(+), 3 deletions(-) (limited to 'third_party/protobuf/src') diff --git a/third_party/protobuf/src/google/protobuf/compiler/java/java_service.cc b/third_party/protobuf/src/google/protobuf/compiler/java/java_service.cc index 1ae4f46..2d85b7a 100644 --- a/third_party/protobuf/src/google/protobuf/compiler/java/java_service.cc +++ b/third_party/protobuf/src/google/protobuf/compiler/java/java_service.cc @@ -86,6 +86,12 @@ void ServiceGenerator::Generate(io::Printer* printer) { GenerateStub(printer); GenerateBlockingStub(printer); + // Add an insertion point. + printer->Print( + "\n" + "// @@protoc_insertion_point(class_scope:$full_name$)\n", + "full_name", descriptor_->full_name()); + printer->Outdent(); printer->Print("}\n\n"); } diff --git a/third_party/protobuf/src/google/protobuf/extension_set.h b/third_party/protobuf/src/google/protobuf/extension_set.h index 68ce423..a1b6f35 100644 --- a/third_party/protobuf/src/google/protobuf/extension_set.h +++ b/third_party/protobuf/src/google/protobuf/extension_set.h @@ -483,7 +483,7 @@ class LIBPROTOBUF_EXPORT ExtensionSet { // only contain a small number of extensions whereas hash_map is optimized // for 100 elements or more. Also, we want AppendToList() to order fields // by field number. - map extensions_; + std::map extensions_; GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionSet); }; diff --git a/third_party/protobuf/src/google/protobuf/io/coded_stream_inl.h b/third_party/protobuf/src/google/protobuf/io/coded_stream_inl.h index e9799d4..8156602 100644 --- a/third_party/protobuf/src/google/protobuf/io/coded_stream_inl.h +++ b/third_party/protobuf/src/google/protobuf/io/coded_stream_inl.h @@ -50,8 +50,12 @@ inline bool CodedInputStream::InternalReadStringInline(string* buffer, if (BufferSize() >= size) { STLStringResizeUninitialized(buffer, size); - memcpy(string_as_array(buffer), buffer_, size); - Advance(size); + // When buffer is empty, string_as_array(buffer) will return NULL but memcpy + // requires non-NULL pointers even when size is 0. Hench this check. + if (size > 0) { + memcpy(string_as_array(buffer), buffer_, size); + Advance(size); + } return true; } diff --git a/third_party/protobuf/src/google/protobuf/message.cc b/third_party/protobuf/src/google/protobuf/message.cc index 91e6878..0409a94 100644 --- a/third_party/protobuf/src/google/protobuf/message.cc +++ b/third_party/protobuf/src/google/protobuf/message.cc @@ -32,6 +32,7 @@ // Based on original Protocol Buffers design by // Sanjay Ghemawat, Jeff Dean, and others. +#include #include #include -- cgit v1.1