Update protobuf to v21.12 (#5189)

* Update protobuf to v21.12

We need to update because the current version was not buliding with gcc 12.2. I
could not move upda to v22.x because there was an odd use of some defines that
were causing failures.

* Disable clang warnings for protobuf headers
This commit is contained in:
Steven Perron 2023-04-12 13:37:07 -04:00 committed by GitHub
parent 31c546e316
commit 9a4e7a1eb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 3 deletions

2
DEPS
View File

@ -8,7 +8,7 @@ vars = {
'googletest_revision': '8fa9461cc28e053d66f17132808d287ae51575e2',
# Use protobufs before they gained the dependency on abseil
'protobuf_revision': 'v3.13.0.1',
'protobuf_revision': 'v21.12',
're2_revision': '11073deb73b3d01018308863c0bcdfd0d51d3e70',
'spirv_headers_revision': '29ba2493125effc581532518add689613cebfec7',

View File

@ -154,7 +154,7 @@ if(SPIRV_BUILD_FUZZER)
if(NOT TARGET protobuf::libprotobuf OR NOT TARGET protobuf::protoc)
set(SPIRV_TOOLS_PROTOBUF_DIR ${CMAKE_CURRENT_SOURCE_DIR}/protobuf/cmake)
set(SPIRV_TOOLS_PROTOBUF_DIR ${CMAKE_CURRENT_SOURCE_DIR}/protobuf)
if (NOT IS_DIRECTORY ${SPIRV_TOOLS_PROTOBUF_DIR})
message(
FATAL_ERROR

View File

@ -21,6 +21,8 @@
// of these header files without having to compromise on freedom from warnings
// in the rest of the project.
#define GOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE 1
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunknown-warning-option" // Must come first
@ -28,6 +30,8 @@
#pragma clang diagnostic ignored "-Wshadow"
#pragma clang diagnostic ignored "-Wsuggest-destructor-override"
#pragma clang diagnostic ignored "-Wunused-parameter"
#pragma clang diagnostic ignored "-Wc++98-compat-extra-semi"
#pragma clang diagnostic ignored "-Wshorten-64-to-32"
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"

View File

@ -67,7 +67,7 @@ def check_library(library):
# by the protobuf compiler:
# - AddDescriptors_spvtoolsfuzz_2eproto()
# - InitDefaults_spvtoolsfuzz_2eproto()
symbol_allowlist_pattern = re.compile(r'_Z[0-9]+(InitDefaults|AddDescriptors)_spvtoolsfuzz_2eprotov')
symbol_allowlist_pattern = re.compile(r'_Z[0-9]+.*spvtoolsfuzz_2eproto.*')
symbol_is_new_or_delete = re.compile(r'^(_Zna|_Znw|_Zdl|_Zda)')
# Compilaion for Arm has various thunks for constructors, destructors, vtables.