mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
protobuf-c: Update 1.3.0 -> 1.3.1
Updating protobuf-c to 3.6.1: [ Robert Edmonds ] * Release 1.3.1. * Restore protobuf-2.x compatibility (#284, #285). * Use xenial and protobuf 3.6.1 in the Travis-CI environment (#332). * Convert uses of protobuf's scoped_ptr.h to C++11 std::unique_ptr, needed to compile against protobuf 3.6.1 (#320, #333). * Use AX_CXX_COMPILE_STDCXX macro to enable C++11 support in old compilers (#312, #317, #327, #334). [ Fredrik Gustafsson ] * Add std:: to some types (#294, #305, #309). [ Sam Collinson ] * Check the return value of int_range_lookup before using as an array index; it can return -1 (#315). [ Matthias Dittrich ] * Fix compilation on mingw by using explicit protoc --plugin=NAME=PATH syntax in Makefile.am (#289, #290). Removing deprecated 0001-protobuf-c-fix-compile-error-with-protobuf-3.6.0.1.patch Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
60f6414ba9
commit
aa6b137ace
|
|
@ -1,207 +0,0 @@
|
|||
From fb77cbce29d9ea4d4acbfd6ba72cb1cffabf649a Mon Sep 17 00:00:00 2001
|
||||
From: Changqing Li <changqing.li@windriver.com>
|
||||
Date: Fri, 20 Jul 2018 11:47:53 +0800
|
||||
Subject: [PATCH] protobuf-c: fix compile error with protobuf 3.6.0.1
|
||||
|
||||
Upstream-Status: Backport[https://github.com/protobuf-c/protobuf-c/pull/328]
|
||||
|
||||
1. protoc-c depend on protobuf, from protobuf 3.6.0.1,
|
||||
scoped_array is removed, but protoc-c still use scoped_array,
|
||||
caused compile error.
|
||||
|
||||
2. fix compile error since missing namespace
|
||||
|
||||
|
||||
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
||||
---
|
||||
protoc-c/c_field.cc | 2 +-
|
||||
protoc-c/c_field.h | 2 +-
|
||||
protoc-c/c_file.cc | 8 ++++----
|
||||
protoc-c/c_file.h | 10 +++++-----
|
||||
protoc-c/c_generator.cc | 12 ++++++------
|
||||
protoc-c/c_helpers.cc | 4 +++-
|
||||
protoc-c/c_message.cc | 6 +++---
|
||||
protoc-c/c_message.h | 7 ++++---
|
||||
8 files changed, 27 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc
|
||||
index 9fa56ef..eaa38d2 100644
|
||||
--- a/protoc-c/c_field.cc
|
||||
+++ b/protoc-c/c_field.cc
|
||||
@@ -189,7 +189,7 @@ void FieldGenerator::GenerateDescriptorInitializerGeneric(io::Printer* printer,
|
||||
FieldGeneratorMap::FieldGeneratorMap(const Descriptor* descriptor)
|
||||
: descriptor_(descriptor),
|
||||
field_generators_(
|
||||
- new scoped_ptr<FieldGenerator>[descriptor->field_count()]) {
|
||||
+ new std::unique_ptr<FieldGenerator>[descriptor->field_count()]) {
|
||||
// Construct all the FieldGenerators.
|
||||
for (int i = 0; i < descriptor->field_count(); i++) {
|
||||
field_generators_[i].reset(MakeGenerator(descriptor->field(i)));
|
||||
diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
|
||||
index 91f1a03..94b2fad 100644
|
||||
--- a/protoc-c/c_field.h
|
||||
+++ b/protoc-c/c_field.h
|
||||
@@ -117,7 +117,7 @@ class FieldGeneratorMap {
|
||||
|
||||
private:
|
||||
const Descriptor* descriptor_;
|
||||
- scoped_array<scoped_ptr<FieldGenerator> > field_generators_;
|
||||
+ std::unique_ptr<std::unique_ptr<FieldGenerator>[]> field_generators_;
|
||||
|
||||
static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
|
||||
|
||||
diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
|
||||
index 9851768..6dae516 100644
|
||||
--- a/protoc-c/c_file.cc
|
||||
+++ b/protoc-c/c_file.cc
|
||||
@@ -83,13 +83,13 @@ FileGenerator::FileGenerator(const FileDescriptor* file,
|
||||
const string& dllexport_decl)
|
||||
: file_(file),
|
||||
message_generators_(
|
||||
- new scoped_ptr<MessageGenerator>[file->message_type_count()]),
|
||||
+ new std::unique_ptr<MessageGenerator>[file->message_type_count()]),
|
||||
enum_generators_(
|
||||
- new scoped_ptr<EnumGenerator>[file->enum_type_count()]),
|
||||
+ new std::unique_ptr<EnumGenerator>[file->enum_type_count()]),
|
||||
service_generators_(
|
||||
- new scoped_ptr<ServiceGenerator>[file->service_count()]),
|
||||
+ new std::unique_ptr<ServiceGenerator>[file->service_count()]),
|
||||
extension_generators_(
|
||||
- new scoped_ptr<ExtensionGenerator>[file->extension_count()]) {
|
||||
+ new std::unique_ptr<ExtensionGenerator>[file->extension_count()]) {
|
||||
|
||||
for (int i = 0; i < file->message_type_count(); i++) {
|
||||
message_generators_[i].reset(
|
||||
diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
|
||||
index ed38ce4..adc2841 100644
|
||||
--- a/protoc-c/c_file.h
|
||||
+++ b/protoc-c/c_file.h
|
||||
@@ -98,13 +98,13 @@ class FileGenerator {
|
||||
private:
|
||||
const FileDescriptor* file_;
|
||||
|
||||
- scoped_array<scoped_ptr<MessageGenerator> > message_generators_;
|
||||
- scoped_array<scoped_ptr<EnumGenerator> > enum_generators_;
|
||||
- scoped_array<scoped_ptr<ServiceGenerator> > service_generators_;
|
||||
- scoped_array<scoped_ptr<ExtensionGenerator> > extension_generators_;
|
||||
+ std::unique_ptr<std::unique_ptr<MessageGenerator>[]> message_generators_;
|
||||
+ std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
|
||||
+ std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
|
||||
+ std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
|
||||
|
||||
// E.g. if the package is foo.bar, package_parts_ is {"foo", "bar"}.
|
||||
- vector<string> package_parts_;
|
||||
+ std::vector<string> package_parts_;
|
||||
|
||||
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
|
||||
};
|
||||
diff --git a/protoc-c/c_generator.cc b/protoc-c/c_generator.cc
|
||||
index a0d0cb6..c46cfe4 100644
|
||||
--- a/protoc-c/c_generator.cc
|
||||
+++ b/protoc-c/c_generator.cc
|
||||
@@ -80,13 +80,13 @@ namespace c {
|
||||
// "foo=bar,baz,qux=corge"
|
||||
// parses to the pairs:
|
||||
// ("foo", "bar"), ("baz", ""), ("qux", "corge")
|
||||
-void ParseOptions(const string& text, vector<pair<string, string> >* output) {
|
||||
- vector<string> parts;
|
||||
+void ParseOptions(const string& text, std::vector<std::pair<string, string> >* output) {
|
||||
+ std::vector<string> parts;
|
||||
SplitStringUsing(text, ",", &parts);
|
||||
|
||||
for (unsigned i = 0; i < parts.size(); i++) {
|
||||
string::size_type equals_pos = parts[i].find_first_of('=');
|
||||
- pair<string, string> value;
|
||||
+ std::pair<string, string> value;
|
||||
if (equals_pos == string::npos) {
|
||||
value.first = parts[i];
|
||||
value.second = "";
|
||||
@@ -105,7 +105,7 @@ bool CGenerator::Generate(const FileDescriptor* file,
|
||||
const string& parameter,
|
||||
OutputDirectory* output_directory,
|
||||
string* error) const {
|
||||
- vector<pair<string, string> > options;
|
||||
+ std::vector<std::pair<string, string> > options;
|
||||
ParseOptions(parameter, &options);
|
||||
|
||||
// -----------------------------------------------------------------
|
||||
@@ -149,7 +149,7 @@ bool CGenerator::Generate(const FileDescriptor* file,
|
||||
|
||||
// Generate header.
|
||||
{
|
||||
- scoped_ptr<io::ZeroCopyOutputStream> output(
|
||||
+ std::unique_ptr<io::ZeroCopyOutputStream> output(
|
||||
output_directory->Open(basename + ".h"));
|
||||
io::Printer printer(output.get(), '$');
|
||||
file_generator.GenerateHeader(&printer);
|
||||
@@ -157,7 +157,7 @@ bool CGenerator::Generate(const FileDescriptor* file,
|
||||
|
||||
// Generate cc file.
|
||||
{
|
||||
- scoped_ptr<io::ZeroCopyOutputStream> output(
|
||||
+ std::unique_ptr<io::ZeroCopyOutputStream> output(
|
||||
output_directory->Open(basename + ".c"));
|
||||
io::Printer printer(output.get(), '$');
|
||||
file_generator.GenerateSource(&printer);
|
||||
diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc
|
||||
index b79b5b0..f4ef73d 100644
|
||||
--- a/protoc-c/c_helpers.cc
|
||||
+++ b/protoc-c/c_helpers.cc
|
||||
@@ -86,6 +86,8 @@ namespace c {
|
||||
#pragma warning(disable:4996)
|
||||
#endif
|
||||
|
||||
+using std::vector;
|
||||
+
|
||||
string DotsToUnderscores(const string& name) {
|
||||
return StringReplace(name, ".", "_", true);
|
||||
}
|
||||
@@ -559,7 +561,7 @@ static int CEscapeInternal(const char* src, int src_len, char* dest,
|
||||
}
|
||||
string CEscape(const string& src) {
|
||||
const int dest_length = src.size() * 4 + 1; // Maximum possible expansion
|
||||
- scoped_array<char> dest(new char[dest_length]);
|
||||
+ std::unique_ptr<char[]> dest(new char[dest_length]);
|
||||
const int len = CEscapeInternal(src.data(), src.size(),
|
||||
dest.get(), dest_length, false);
|
||||
GOOGLE_DCHECK_GE(len, 0);
|
||||
diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
|
||||
index 6b22c71..85a946e 100755
|
||||
--- a/protoc-c/c_message.cc
|
||||
+++ b/protoc-c/c_message.cc
|
||||
@@ -83,11 +83,11 @@ MessageGenerator::MessageGenerator(const Descriptor* descriptor,
|
||||
: descriptor_(descriptor),
|
||||
dllexport_decl_(dllexport_decl),
|
||||
field_generators_(descriptor),
|
||||
- nested_generators_(new scoped_ptr<MessageGenerator>[
|
||||
+ nested_generators_(new std::unique_ptr<MessageGenerator>[
|
||||
descriptor->nested_type_count()]),
|
||||
- enum_generators_(new scoped_ptr<EnumGenerator>[
|
||||
+ enum_generators_(new std::unique_ptr<EnumGenerator>[
|
||||
descriptor->enum_type_count()]),
|
||||
- extension_generators_(new scoped_ptr<ExtensionGenerator>[
|
||||
+ extension_generators_(new std::unique_ptr<ExtensionGenerator>[
|
||||
descriptor->extension_count()]) {
|
||||
|
||||
for (int i = 0; i < descriptor->nested_type_count(); i++) {
|
||||
diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
|
||||
index 8b115d1..114c2d0 100644
|
||||
--- a/protoc-c/c_message.h
|
||||
+++ b/protoc-c/c_message.h
|
||||
@@ -126,9 +126,10 @@ class MessageGenerator {
|
||||
const Descriptor* descriptor_;
|
||||
string dllexport_decl_;
|
||||
FieldGeneratorMap field_generators_;
|
||||
- scoped_array<scoped_ptr<MessageGenerator> > nested_generators_;
|
||||
- scoped_array<scoped_ptr<EnumGenerator> > enum_generators_;
|
||||
- scoped_array<scoped_ptr<ExtensionGenerator> > extension_generators_;
|
||||
+
|
||||
+ std::unique_ptr<std::unique_ptr<MessageGenerator>[]> nested_generators_;
|
||||
+ std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
|
||||
+ std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
|
||||
|
||||
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
|
||||
};
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
|
@ -13,11 +13,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558"
|
|||
DEPENDS = "protobuf-native protobuf"
|
||||
|
||||
PV .= "+git${SRCPV}"
|
||||
SRCREV = "dac1a65feac4ad72f612aab99f487056fbcf5c1a"
|
||||
SRCREV = "269771b4b45d3aba04e59569f53600003db8d9ff"
|
||||
|
||||
SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
|
||||
file://0001-protobuf-c-fix-compile-error-with-protobuf-3.6.0.1.patch \
|
||||
"
|
||||
SRC_URI = "git://github.com/protobuf-c/protobuf-c.git"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user