Sync from Piper @446230931
PROTOBUF_SYNC_PIPER
diff --git a/CHANGES.txt b/CHANGES.txt
index 5f6e297..4ef9bdb 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -14,6 +14,7 @@
* Refactor generated message class layout
* Optimize tokenizer ParseInteger by removing division
* Reserve exactly the right amount of capacity in ExtensionSet::MergeFrom
+ * Parse FLT_MAX correctly when represented in JSON
Compiler
* Protoc outputs the list of suggested field numbers when invalid field
diff --git a/kokoro/release/collect_all_artifacts.sh b/kokoro/release/collect_all_artifacts.sh
index 3372a01..6e0d152 100755
--- a/kokoro/release/collect_all_artifacts.sh
+++ b/kokoro/release/collect_all_artifacts.sh
@@ -50,6 +50,9 @@
# TODO(jtattermusch): use "mono:5.14" docker image instead so we don't have to apt-get install
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
+# NVidia has stopped publishing Cuda packages for Ubuntu 16.04, so we need to
+# delete this file to allow the apt update to run successfully.
+sudo rm -f /etc/apt/sources.list.d/cuda.list
sudo apt update
sudo apt-get install -y nuget
diff --git a/protobuf_release.bzl b/protobuf_release.bzl
index c5d5f2b..327ae9a 100644
--- a/protobuf_release.bzl
+++ b/protobuf_release.bzl
@@ -4,11 +4,11 @@
load("@rules_pkg//:providers.bzl", "PackageVariablesInfo")
load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain")
-load(":protobuf_version.bzl", "PROTOBUF_VERSION")
+load(":protobuf_version.bzl", "PROTOC_VERSION")
def _package_naming_impl(ctx):
values = {}
- values["version"] = PROTOBUF_VERSION
+ values["version"] = PROTOC_VERSION
# infer from the current cpp toolchain.
toolchain = find_cpp_toolchain(ctx)
diff --git a/protobuf_version.bzl b/protobuf_version.bzl
index 98cf837..8da8329 100644
--- a/protobuf_version.bzl
+++ b/protobuf_version.bzl
@@ -1 +1,2 @@
-PROTOBUF_VERSION = '3.20.1'
+PROTOC_VERSION = '3.20.1'
+PROTOBUF_JAVA_VERSION = '3.20.1'
diff --git a/src/google/protobuf/parse_context.h b/src/google/protobuf/parse_context.h
index cd97596..7aea50c 100644
--- a/src/google/protobuf/parse_context.h
+++ b/src/google/protobuf/parse_context.h
@@ -630,7 +630,7 @@
*out = 0;
return nullptr;
}
- *out = RotateLeft(res, 28);
+ *out = static_cast<uint32_t>(RotateLeft(res, 28));
#if defined(__GNUC__)
// Note: this asm statement prevents the compiler from
// trying to share the "return ptr + constant" among all
@@ -639,16 +639,16 @@
#endif
return ptr + 5;
}
- *out = RotateLeft(res, 21);
+ *out = static_cast<uint32_t>(RotateLeft(res, 21));
return ptr + 4;
}
- *out = RotateLeft(res, 14);
+ *out = static_cast<uint32_t>(RotateLeft(res, 14));
return ptr + 3;
}
- *out = RotateLeft(res, 7);
+ *out = static_cast<uint32_t>(RotateLeft(res, 7));
return ptr + 2;
}
- *out = res;
+ *out = static_cast<uint32_t>(res);
return ptr + 1;
}
diff --git a/src/google/protobuf/wire_format_lite.h b/src/google/protobuf/wire_format_lite.h
index 32fe0c7..a7e64bf 100644
--- a/src/google/protobuf/wire_format_lite.h
+++ b/src/google/protobuf/wire_format_lite.h
@@ -41,6 +41,7 @@
#define GOOGLE_PROTOBUF_WIRE_FORMAT_LITE_H__
+#include <limits>
#include <string>
#include <google/protobuf/stubs/common.h>