diff --git a/CHANGES.txt b/CHANGES.txt index cb5bff5da619a..9ac707e2814f9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,26 +1,14 @@ -Unreleased Changes (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript) - Protocol Compiler - * Stop emitting boilerplate {Copy/Merge}From in each ProtoBuf class - * split the accessor annotations according to their operation - * introduce proto message injector - * let proto message injector decide whether to calculate address info based on field descriptor and access type. - * Disable LITE_RUNTIME injector annotations - * move callback and @protoc_insertion_point after internal set of enum fields - * Improve ExtractFieldInfo codegen for string fields with oneof or default value - * Rename MessageInjector to FieldAccessListener - * Change the API of FieldAccessListener to support callbacks for info extraction - * make field_access_injector private - 2021-05-07 version 3.17.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript) PHP + * Fixed PHP memory leaks and arginfo errors. (#8614) * Fixed JSON parser to allow multiple values from the same oneof as long as all but one are null. Ruby + * Fixed memory bug: properly root repeated/map field when assigning. (#8639) * Fixed JSON parser to allow multiple values from the same oneof as long as all but one are null. - 2021-05-07 version 3.17.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript) Protocol Compiler diff --git a/Protobuf-C++.podspec b/Protobuf-C++.podspec index 57d58f42bbf23..fbb1ef9265bc4 100644 --- a/Protobuf-C++.podspec +++ b/Protobuf-C++.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'Protobuf-C++' - s.version = '3.17.0' + s.version = '3.17.1' s.summary = 'Protocol Buffers v3 runtime library for C++.' s.homepage = 'https://github.com/google/protobuf' s.license = '3-Clause BSD License' diff --git a/Protobuf.podspec b/Protobuf.podspec index 1c2b1984a2b3b..0f98517bcd0df 100644 --- a/Protobuf.podspec +++ b/Protobuf.podspec @@ -5,7 +5,7 @@ # dependent projects use the :git notation to refer to the library. Pod::Spec.new do |s| s.name = 'Protobuf' - s.version = '3.17.0' + s.version = '3.17.1' s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.' s.homepage = 'https://github.com/protocolbuffers/protobuf' s.license = '3-Clause BSD License' diff --git a/configure.ac b/configure.ac index c8a56cf7c8cb5..f27f5f4e30319 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ AC_PREREQ(2.59) # In the SVN trunk, the version should always be the next anticipated release # version with the "-pre" suffix. (We used to use "-SNAPSHOT" but this pushed # the size of one file name in the dist tarfile over the 99-char limit.) -AC_INIT([Protocol Buffers],[3.17.0],[protobuf@googlegroups.com],[protobuf]) +AC_INIT([Protocol Buffers],[3.17.1],[protobuf@googlegroups.com],[protobuf]) AM_MAINTAINER_MODE([enable]) diff --git a/csharp/Google.Protobuf.Tools.nuspec b/csharp/Google.Protobuf.Tools.nuspec index fc01d7617c5c0..3cec102d3fb0a 100644 --- a/csharp/Google.Protobuf.Tools.nuspec +++ b/csharp/Google.Protobuf.Tools.nuspec @@ -5,7 +5,7 @@ Google Protocol Buffers tools Tools for Protocol Buffers - Google's data interchange format. See project site for more info. - 3.17.0 + 3.17.1 Google Inc. protobuf-packages https://github.com/protocolbuffers/protobuf/blob/master/LICENSE diff --git a/csharp/src/Google.Protobuf/Google.Protobuf.csproj b/csharp/src/Google.Protobuf/Google.Protobuf.csproj index dcc88eff12b72..5348df09e2e36 100644 --- a/csharp/src/Google.Protobuf/Google.Protobuf.csproj +++ b/csharp/src/Google.Protobuf/Google.Protobuf.csproj @@ -4,7 +4,7 @@ C# runtime library for Protocol Buffers - Google's data interchange format. Copyright 2015, Google Inc. Google Protocol Buffers - 3.17.0 + 3.17.1 7.2 Google Inc. diff --git a/java/bom/pom.xml b/java/bom/pom.xml index 43717f721bfbf..b4a757f49f2cb 100644 --- a/java/bom/pom.xml +++ b/java/bom/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-bom - 3.17.0 + 3.17.1 pom Protocol Buffers [BOM] diff --git a/java/core/pom.xml b/java/core/pom.xml index 12fcdc1b9e53a..97b0c3beba34b 100644 --- a/java/core/pom.xml +++ b/java/core/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.17.0 + 3.17.1 protobuf-java diff --git a/java/kotlin-lite/pom.xml b/java/kotlin-lite/pom.xml index 32a21a985e296..ab1dbbd1b9166 100644 --- a/java/kotlin-lite/pom.xml +++ b/java/kotlin-lite/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.17.0 + 3.17.1 protobuf-kotlin-lite diff --git a/java/kotlin/pom.xml b/java/kotlin/pom.xml index 5e4d84f7e50af..a3d90f8fd22a4 100644 --- a/java/kotlin/pom.xml +++ b/java/kotlin/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.17.0 + 3.17.1 protobuf-kotlin diff --git a/java/lite/pom.xml b/java/lite/pom.xml index 6bd4653f20f79..ef7c1d58b9fe0 100644 --- a/java/lite/pom.xml +++ b/java/lite/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.17.0 + 3.17.1 protobuf-javalite diff --git a/java/pom.xml b/java/pom.xml index 5bf80cd11d18a..d6d8001ee6c7e 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.17.0 + 3.17.1 pom Protocol Buffers [Parent] diff --git a/java/util/pom.xml b/java/util/pom.xml index 911acdd348692..34b5d3d2b1869 100644 --- a/java/util/pom.xml +++ b/java/util/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.17.0 + 3.17.1 protobuf-java-util diff --git a/js/package.json b/js/package.json index f92a1a3a93278..3886918e6a92e 100644 --- a/js/package.json +++ b/js/package.json @@ -1,6 +1,6 @@ { "name": "google-protobuf", - "version": "3.17.0", + "version": "3.17.1", "description": "Protocol Buffers for JavaScript", "main": "google-protobuf.js", "files": [ diff --git a/php/ext/google/protobuf/package.xml b/php/ext/google/protobuf/package.xml index 3d53f40010491..d1f1b48f9df73 100644 --- a/php/ext/google/protobuf/package.xml +++ b/php/ext/google/protobuf/package.xml @@ -10,11 +10,11 @@ protobuf-opensource@google.com yes - 2021-05-11 - + 2021-05-19 + - 3.17.0 - 3.17.0 + 3.17.1 + 3.17.1 stable @@ -22,7 +22,9 @@ 3-Clause BSD License - No new changes in 3.17.0 + * Fixed PHP memory leaks and arginfo errors. (#8614) + * Fixed JSON parser to allow multiple values from the same oneof as long as + all but one are null. @@ -992,5 +994,23 @@ G A release. + + + 3.17.1 + 3.17.1 + + + stable + stable + + 2021-05-19 + + 3-Clause BSD License + + * Fixed PHP memory leaks and arginfo errors. (#8614) + * Fixed JSON parser to allow multiple values from the same oneof as long as + all but one are null. + + diff --git a/php/ext/google/protobuf/protobuf.h b/php/ext/google/protobuf/protobuf.h index a32bac426b046..530efbd8e4a1a 100644 --- a/php/ext/google/protobuf/protobuf.h +++ b/php/ext/google/protobuf/protobuf.h @@ -81,7 +81,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_setter, 0, 0, 1) ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() -#define PHP_PROTOBUF_VERSION "3.17.0" +#define PHP_PROTOBUF_VERSION "3.17.1" // ptr -> PHP object cache. This is a weak map that caches lazily-created // wrapper objects around upb types: diff --git a/protoc-artifacts/pom.xml b/protoc-artifacts/pom.xml index 00fe9ff988089..c1ff3a6f90841 100644 --- a/protoc-artifacts/pom.xml +++ b/protoc-artifacts/pom.xml @@ -8,7 +8,7 @@ com.google.protobuf protoc - 3.17.0 + 3.17.1 pom Protobuf Compiler diff --git a/python/google/protobuf/__init__.py b/python/google/protobuf/__init__.py index 2f5ad27453488..9f66585651540 100644 --- a/python/google/protobuf/__init__.py +++ b/python/google/protobuf/__init__.py @@ -30,4 +30,4 @@ # Copyright 2007 Google Inc. All Rights Reserved. -__version__ = '3.17.0' +__version__ = '3.17.1' diff --git a/ruby/ext/google/protobuf_c/map.c b/ruby/ext/google/protobuf_c/map.c index 9d0b37e10fb7f..d5b47e4e18c29 100644 --- a/ruby/ext/google/protobuf_c/map.c +++ b/ruby/ext/google/protobuf_c/map.c @@ -167,7 +167,8 @@ VALUE Map_deep_copy(VALUE obj) { new_arena_rb); } -const upb_map* Map_GetUpbMap(VALUE val, const upb_fielddef *field) { +const upb_map* Map_GetUpbMap(VALUE val, const upb_fielddef* field, + upb_arena* arena) { const upb_fielddef* key_field = map_field_key(field); const upb_fielddef* value_field = map_field_value(field); TypeInfo value_type_info = TypeInfo_get(value_field); @@ -189,6 +190,7 @@ const upb_map* Map_GetUpbMap(VALUE val, const upb_fielddef *field) { rb_raise(cTypeError, "Map value type has wrong message/enum class"); } + Arena_fuse(self->arena, arena); return self->map; } @@ -236,7 +238,7 @@ static VALUE Map_merge_into_self(VALUE _self, VALUE hashmap) { upb_msg *self_msg = Map_GetMutable(_self); size_t iter = UPB_MAP_BEGIN; - upb_arena_fuse(arena, Arena_get(other->arena)); + Arena_fuse(other->arena, arena); if (self->key_type != other->key_type || self->value_type_info.type != other->value_type_info.type || @@ -511,7 +513,7 @@ static VALUE Map_dup(VALUE _self) { upb_arena *arena = Arena_get(new_self->arena); upb_map *new_map = Map_GetMutable(new_map_rb); - upb_arena_fuse(arena, Arena_get(self->arena)); + Arena_fuse(self->arena, arena); while (upb_mapiter_next(self->map, &iter)) { upb_msgval key = upb_mapiter_key(self->map, iter); diff --git a/ruby/ext/google/protobuf_c/map.h b/ruby/ext/google/protobuf_c/map.h index 1b840c3da77e8..411362cab3b5f 100644 --- a/ruby/ext/google/protobuf_c/map.h +++ b/ruby/ext/google/protobuf_c/map.h @@ -44,7 +44,8 @@ VALUE Map_GetRubyWrapper(upb_map *map, upb_fieldtype_t key_type, // Gets the underlying upb_map for this Ruby map object, which must have // key/value type that match |field|. If this is not a map or the type doesn't // match, raises an exception. -const upb_map *Map_GetUpbMap(VALUE val, const upb_fielddef *field); +const upb_map *Map_GetUpbMap(VALUE val, const upb_fielddef *field, + upb_arena *arena); // Implements #inspect for this map by appending its contents to |b|. void Map_Inspect(StringBuilder *b, const upb_map *map, upb_fieldtype_t key_type, diff --git a/ruby/ext/google/protobuf_c/message.c b/ruby/ext/google/protobuf_c/message.c index c1b9b86330329..98f89e82771a2 100644 --- a/ruby/ext/google/protobuf_c/message.c +++ b/ruby/ext/google/protobuf_c/message.c @@ -277,9 +277,9 @@ static void Message_setfield(upb_msg* msg, const upb_fielddef* f, VALUE val, upb_arena* arena) { upb_msgval msgval; if (upb_fielddef_ismap(f)) { - msgval.map_val = Map_GetUpbMap(val, f); + msgval.map_val = Map_GetUpbMap(val, f, arena); } else if (upb_fielddef_isseq(f)) { - msgval.array_val = RepeatedField_GetUpbArray(val, f); + msgval.array_val = RepeatedField_GetUpbArray(val, f, arena); } else { if (val == Qnil && (upb_fielddef_issubmsg(f) || upb_fielddef_realcontainingoneof(f))) { @@ -660,7 +660,7 @@ static VALUE Message_dup(VALUE _self) { // TODO(copy unknown fields?) // TODO(use official upb msg copy function) memcpy((upb_msg*)new_msg_self->msg, self->msg, size); - upb_arena_fuse(Arena_get(new_msg_self->arena), Arena_get(self->arena)); + Arena_fuse(self->arena, Arena_get(new_msg_self->arena)); return new_msg; } @@ -1314,7 +1314,7 @@ const upb_msg* Message_GetUpbMessage(VALUE value, const upb_msgdef* m, } Message* self = ruby_to_Message(value); - upb_arena_fuse(arena, Arena_get(self->arena)); + Arena_fuse(self->arena, arena); return self->msg; } diff --git a/ruby/ext/google/protobuf_c/protobuf.c b/ruby/ext/google/protobuf_c/protobuf.c index b657fa38639f2..a61328b442e6e 100644 --- a/ruby/ext/google/protobuf_c/protobuf.c +++ b/ruby/ext/google/protobuf_c/protobuf.c @@ -204,6 +204,16 @@ upb_arena *Arena_get(VALUE _arena) { return arena->arena; } +void Arena_fuse(VALUE _arena, upb_arena *other) { + Arena *arena; + TypedData_Get_Struct(_arena, Arena, &Arena_type, arena); + if (!upb_arena_fuse(arena->arena, other)) { + rb_raise(rb_eRuntimeError, + "Unable to fuse arenas. This should never happen since Ruby does " + "not use initial blocks"); + } +} + VALUE Arena_new() { return Arena_alloc(cArena); } diff --git a/ruby/ext/google/protobuf_c/protobuf.h b/ruby/ext/google/protobuf_c/protobuf.h index 01f18fb3a43bb..f7ac2049d7096 100644 --- a/ruby/ext/google/protobuf_c/protobuf.h +++ b/ruby/ext/google/protobuf_c/protobuf.h @@ -55,6 +55,10 @@ const upb_fielddef* map_field_value(const upb_fielddef* field); VALUE Arena_new(); upb_arena *Arena_get(VALUE arena); +// Fuses this arena to another, throwing a Ruby exception if this is not +// possible. +void Arena_fuse(VALUE arena, upb_arena *other); + // Pins this Ruby object to the lifetime of this arena, so that as long as the // arena is alive this object will not be collected. // diff --git a/ruby/ext/google/protobuf_c/repeated_field.c b/ruby/ext/google/protobuf_c/repeated_field.c index da3e7ef0cdd7a..1cc4915e06db3 100644 --- a/ruby/ext/google/protobuf_c/repeated_field.c +++ b/ruby/ext/google/protobuf_c/repeated_field.c @@ -149,7 +149,8 @@ VALUE RepeatedField_deep_copy(VALUE _self) { return new_rptfield; } -const upb_array* RepeatedField_GetUpbArray(VALUE val, const upb_fielddef *field) { +const upb_array* RepeatedField_GetUpbArray(VALUE val, const upb_fielddef* field, + upb_arena* arena) { RepeatedField* self; TypeInfo type_info = TypeInfo_get(field); @@ -167,6 +168,7 @@ const upb_array* RepeatedField_GetUpbArray(VALUE val, const upb_fielddef *field) rb_raise(cTypeError, "Repeated field array has wrong message/enum class"); } + Arena_fuse(self->arena, arena); return self->array; } @@ -412,7 +414,7 @@ static VALUE RepeatedField_dup(VALUE _self) { int size = upb_array_size(self->array); int i; - upb_arena_fuse(arena, Arena_get(self->arena)); + Arena_fuse(self->arena, arena); for (i = 0; i < size; i++) { upb_msgval msgval = upb_array_get(self->array, i); diff --git a/ruby/ext/google/protobuf_c/repeated_field.h b/ruby/ext/google/protobuf_c/repeated_field.h index 5a5959dd837b1..e4ef252924375 100644 --- a/ruby/ext/google/protobuf_c/repeated_field.h +++ b/ruby/ext/google/protobuf_c/repeated_field.h @@ -44,7 +44,8 @@ VALUE RepeatedField_GetRubyWrapper(upb_array* msg, TypeInfo type_info, // Gets the underlying upb_array for this Ruby RepeatedField object, which must // have a type that matches |f|. If this is not a repeated field or the type // doesn't match, raises an exception. -const upb_array* RepeatedField_GetUpbArray(VALUE value, const upb_fielddef* f); +const upb_array* RepeatedField_GetUpbArray(VALUE value, const upb_fielddef* f, + upb_arena* arena); // Implements #inspect for this repeated field by appending its contents to |b|. void RepeatedField_Inspect(StringBuilder* b, const upb_array* array, diff --git a/ruby/google-protobuf.gemspec b/ruby/google-protobuf.gemspec index 2ba7eab6f0e1d..bfc053f49c87c 100644 --- a/ruby/google-protobuf.gemspec +++ b/ruby/google-protobuf.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = "google-protobuf" - s.version = "3.17.0" + s.version = "3.17.1" git_tag = "v#{s.version.to_s.sub('.rc.', '-rc')}" # Converts X.Y.Z.rc.N to vX.Y.Z-rcN, used for the git tag s.licenses = ["BSD-3-Clause"] s.summary = "Protocol Buffers" diff --git a/ruby/tests/basic.rb b/ruby/tests/basic.rb index 8ddf72b81e4e2..6beb4b75713e3 100755 --- a/ruby/tests/basic.rb +++ b/ruby/tests/basic.rb @@ -63,6 +63,13 @@ def test_issue_8311_crash end end + def test_issue_8559_crash + msg = TestMessage.new + msg.repeated_int32 = ::Google::Protobuf::RepeatedField.new(:int32, [1, 2, 3]) + GC.start(full_mark: true, immediate_sweep: true) + TestMessage.encode(msg) + end + def test_has_field m = TestSingularFields.new assert !m.has_singular_msg? diff --git a/src/Makefile.am b/src/Makefile.am index bf0546d39dcc1..735e3b84149e5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -18,7 +18,7 @@ else PTHREAD_DEF = endif -PROTOBUF_VERSION = 28:0:0 +PROTOBUF_VERSION = 28:1:0 if GCC # Turn on all warnings except for sign comparison (we ignore sign comparison diff --git a/src/google/protobuf/any.pb.h b/src/google/protobuf/any.pb.h index 042e63f26ce3b..7b0ae406fa362 100644 --- a/src/google/protobuf/any.pb.h +++ b/src/google/protobuf/any.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/api.pb.h b/src/google/protobuf/api.pb.h index 8073a4faf5294..e4fd56cc5c050 100644 --- a/src/google/protobuf/api.pb.h +++ b/src/google/protobuf/api.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h index 1c38a4ec88c7b..89898c1f8830e 100644 --- a/src/google/protobuf/compiler/plugin.pb.h +++ b/src/google/protobuf/compiler/plugin.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h index 86218aa312575..d86c84334ba5e 100644 --- a/src/google/protobuf/descriptor.pb.h +++ b/src/google/protobuf/descriptor.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/duration.pb.h b/src/google/protobuf/duration.pb.h index 14a8d3ec55670..580733c25496f 100644 --- a/src/google/protobuf/duration.pb.h +++ b/src/google/protobuf/duration.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/empty.pb.h b/src/google/protobuf/empty.pb.h index fad7232a022f0..12e597187f9fe 100644 --- a/src/google/protobuf/empty.pb.h +++ b/src/google/protobuf/empty.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/field_mask.pb.h b/src/google/protobuf/field_mask.pb.h index 5557c51927eca..ed4902100bd02 100644 --- a/src/google/protobuf/field_mask.pb.h +++ b/src/google/protobuf/field_mask.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc index b866cd37e5391..10a609b36b4f2 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -107,7 +107,7 @@ #ifdef PROTOBUF_VERSION #error PROTOBUF_VERSION was previously defined #endif -#define PROTOBUF_VERSION 3017000 +#define PROTOBUF_VERSION 3017001 #ifdef PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC #error PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC was previously defined diff --git a/src/google/protobuf/source_context.pb.h b/src/google/protobuf/source_context.pb.h index 13d3411b1a842..18563270fa8f5 100644 --- a/src/google/protobuf/source_context.pb.h +++ b/src/google/protobuf/source_context.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/struct.pb.h b/src/google/protobuf/struct.pb.h index ddf7be6916512..9125c593049b1 100644 --- a/src/google/protobuf/struct.pb.h +++ b/src/google/protobuf/struct.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/stubs/common.h b/src/google/protobuf/stubs/common.h index 4faf238b786fb..497a91e266a3a 100644 --- a/src/google/protobuf/stubs/common.h +++ b/src/google/protobuf/stubs/common.h @@ -82,7 +82,7 @@ namespace internal { // The current version, represented as a single integer to make comparison // easier: major * 10^6 + minor * 10^3 + micro -#define GOOGLE_PROTOBUF_VERSION 3017000 +#define GOOGLE_PROTOBUF_VERSION 3017001 // A suffix string for alpha, beta or rc releases. Empty for stable releases. #define GOOGLE_PROTOBUF_VERSION_SUFFIX "" diff --git a/src/google/protobuf/stubs/port.h b/src/google/protobuf/stubs/port.h index eec96faf387d8..bead0af743069 100644 --- a/src/google/protobuf/stubs/port.h +++ b/src/google/protobuf/stubs/port.h @@ -263,14 +263,14 @@ static inline uint32 bswap_32(uint32 x) { #ifndef bswap_64 static inline uint64 bswap_64(uint64 x) { - return (((x & uint64_t{0xFFu)) << 56) | - ((x & uint64_t{0xFF00u)) << 40) | - ((x & uint64_t{0xFF0000u)) << 24) | - ((x & uint64_t{0xFF000000u)) << 8) | - ((x & uint64_t{0xFF00000000u)) >> 8) | - ((x & uint64_t{0xFF0000000000u)) >> 24) | - ((x & uint64_t{0xFF000000000000u)) >> 40) | - ((x & uint64_t{0xFF00000000000000u)) >> 56)); + return (((x & uint64_t{0xFFu}) << 56) | + ((x & uint64_t{0xFF00u}) << 40) | + ((x & uint64_t{0xFF0000u}) << 24) | + ((x & uint64_t{0xFF000000u}) << 8) | + ((x & uint64_t{0xFF00000000u}) >> 8) | + ((x & uint64_t{0xFF0000000000u}) >> 24) | + ((x & uint64_t{0xFF000000000000u}) >> 40) | + ((x & uint64_t{0xFF00000000000000u}) >> 56)); } #define bswap_64(x) bswap_64(x) #endif diff --git a/src/google/protobuf/timestamp.pb.h b/src/google/protobuf/timestamp.pb.h index 084924535f915..ac3b6e99920a2 100644 --- a/src/google/protobuf/timestamp.pb.h +++ b/src/google/protobuf/timestamp.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/type.pb.h b/src/google/protobuf/type.pb.h index 4b9bab9c577b4..79553b7ca4eef 100644 --- a/src/google/protobuf/type.pb.h +++ b/src/google/protobuf/type.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. diff --git a/src/google/protobuf/wrappers.pb.h b/src/google/protobuf/wrappers.pb.h index b7366f6126096..9bf949565bc29 100644 --- a/src/google/protobuf/wrappers.pb.h +++ b/src/google/protobuf/wrappers.pb.h @@ -13,7 +13,7 @@ #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif -#if 3017000 < PROTOBUF_MIN_PROTOC_VERSION +#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc.