summaryrefslogtreecommitdiffstats
path: root/third_party/protobuf/src
diff options
context:
space:
mode:
authoreugenis@chromium.org <eugenis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-22 09:30:00 +0000
committereugenis@chromium.org <eugenis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-22 09:30:00 +0000
commit5304c1b047782c367e014d8ec7dc9563b43c1157 (patch)
tree0d3c32515b7ce4ba62307f74a8537257e4693dbf /third_party/protobuf/src
parentee95a5aa13c2701578650c738314a441d2aa5b82 (diff)
downloadchromium_src-5304c1b047782c367e014d8ec7dc9563b43c1157.zip
chromium_src-5304c1b047782c367e014d8ec7dc9563b43c1157.tar.gz
chromium_src-5304c1b047782c367e014d8ec7dc9563b43c1157.tar.bz2
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
Diffstat (limited to 'third_party/protobuf/src')
-rw-r--r--third_party/protobuf/src/google/protobuf/compiler/java/java_service.cc6
-rw-r--r--third_party/protobuf/src/google/protobuf/extension_set.h2
-rw-r--r--third_party/protobuf/src/google/protobuf/io/coded_stream_inl.h8
-rw-r--r--third_party/protobuf/src/google/protobuf/message.cc1
4 files changed, 14 insertions, 3 deletions
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<int, Extension> extensions_;
+ std::map<int, Extension> 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 <istream>
#include <stack>
#include <google/protobuf/stubs/hash.h>