From 6e3dca36687647e88f8c964f4cd50084947b10f1 Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Tue, 20 Jun 2023 09:08:13 -0700 Subject: [PATCH] Update TSan validation of concurrent mutations of fields to include non-repeated primitive, enum, string, and message fields. Note that TSan validation is currently disabled so this should be a no-op. PiperOrigin-RevId: 541943542 --- .../cpp/field_generators/enum_field.cc | 2 + .../cpp/field_generators/message_field.cc | 6 + .../cpp/field_generators/primitive_field.cc | 2 + .../cpp/field_generators/string_field.cc | 6 + src/google/protobuf/compiler/plugin.pb.h | 56 +++ src/google/protobuf/descriptor.pb.h | 394 ++++++++++++++++++ 6 files changed, 466 insertions(+) diff --git a/src/google/protobuf/compiler/cpp/field_generators/enum_field.cc b/src/google/protobuf/compiler/cpp/field_generators/enum_field.cc index d40710ce80..0e44566e5e 100644 --- a/src/google/protobuf/compiler/cpp/field_generators/enum_field.cc +++ b/src/google/protobuf/compiler/cpp/field_generators/enum_field.cc @@ -221,9 +221,11 @@ void SingularEnum::GenerateInlineAccessorDefinitions(io::Printer* p) const { } else { p->Emit(R"cc( inline $Enum$ $Msg$::_internal_$name$() const { + $TsanDetectConcurrentRead$; return static_cast<$Enum$>($field_$); } inline void $Msg$::_internal_set_$name$($Enum$ value) { + $TsanDetectConcurrentMutation$; $assert_valid$; $set_hasbit$; $field_$ = value; diff --git a/src/google/protobuf/compiler/cpp/field_generators/message_field.cc b/src/google/protobuf/compiler/cpp/field_generators/message_field.cc index 2fd5eb4154..a419f86d79 100644 --- a/src/google/protobuf/compiler/cpp/field_generators/message_field.cc +++ b/src/google/protobuf/compiler/cpp/field_generators/message_field.cc @@ -201,6 +201,7 @@ void SingularMessage::GenerateInlineAccessorDefinitions(io::Printer* p) const { }, R"cc( inline const $Submsg$& $Msg$::_internal_$name$() const { + $TsanDetectConcurrentRead$; $StrongRef$; const $Submsg$* p = $cast_field_$; return p != nullptr ? *p : reinterpret_cast($kDefault$); @@ -211,6 +212,7 @@ void SingularMessage::GenerateInlineAccessorDefinitions(io::Printer* p) const { return _internal_$name$(); } inline void $Msg$::unsafe_arena_set_allocated_$name$($Submsg$* value) { + $TsanDetectConcurrentMutation$; $PrepareSplitMessageForWrite$; //~ If we're not on an arena, free whatever we were holding before. //~ (If we are on arena, we can just forget the earlier pointer.) @@ -223,6 +225,7 @@ void SingularMessage::GenerateInlineAccessorDefinitions(io::Printer* p) const { // @@protoc_insertion_point(field_unsafe_arena_set_allocated:$pkg.Msg.field$) } inline $Submsg$* $Msg$::$release_name$() { + $TsanDetectConcurrentMutation$; $StrongRef$; $annotate_release$; $PrepareSplitMessageForWrite$; @@ -244,6 +247,7 @@ void SingularMessage::GenerateInlineAccessorDefinitions(io::Printer* p) const { return released; } inline $Submsg$* $Msg$::unsafe_arena_release_$name$() { + $TsanDetectConcurrentMutation$; $annotate_release$; // @@protoc_insertion_point(field_release:$pkg.Msg.field$) $StrongRef$; @@ -255,6 +259,7 @@ void SingularMessage::GenerateInlineAccessorDefinitions(io::Printer* p) const { return temp; } inline $Submsg$* $Msg$::_internal_mutable_$name$() { + $TsanDetectConcurrentMutation$; $StrongRef$; $set_hasbit$; if ($field_$ == nullptr) { @@ -276,6 +281,7 @@ void SingularMessage::GenerateInlineAccessorDefinitions(io::Printer* p) const { //~ cases to the slow fallback function. inline void $Msg$::set_allocated_$name$($Submsg$* value) { $pb$::Arena* message_arena = GetArenaForAllocation(); + $TsanDetectConcurrentMutation$; $PrepareSplitMessageForWrite$; if (message_arena == nullptr) { delete $base_cast$($field_$); diff --git a/src/google/protobuf/compiler/cpp/field_generators/primitive_field.cc b/src/google/protobuf/compiler/cpp/field_generators/primitive_field.cc index 4bff8854d0..ce3a2126db 100644 --- a/src/google/protobuf/compiler/cpp/field_generators/primitive_field.cc +++ b/src/google/protobuf/compiler/cpp/field_generators/primitive_field.cc @@ -245,9 +245,11 @@ void SingularPrimitive::GenerateInlineAccessorDefinitions( } else { p->Emit(R"cc( inline $Type$ $Msg$::_internal_$name$() const { + $TsanDetectConcurrentRead$; return $field_$; } inline void $Msg$::_internal_set_$name$($Type$ value) { + $TsanDetectConcurrentMutation$; $set_hasbit$; $field_$ = value; } diff --git a/src/google/protobuf/compiler/cpp/field_generators/string_field.cc b/src/google/protobuf/compiler/cpp/field_generators/string_field.cc index 5bd544acc2..629482782d 100644 --- a/src/google/protobuf/compiler/cpp/field_generators/string_field.cc +++ b/src/google/protobuf/compiler/cpp/field_generators/string_field.cc @@ -426,6 +426,7 @@ void SingularString::GenerateInlineAccessorDefinitions(io::Printer* p) const { template inline PROTOBUF_ALWAYS_INLINE void $Msg$::set_$name$(Arg_&& arg, Args_... args) { + $TsanDetectConcurrentMutation$; $PrepareSplitMessageForWrite$; $update_hasbit$; $field_$.$Set$(static_cast(arg), args..., $set_args$); @@ -440,26 +441,31 @@ void SingularString::GenerateInlineAccessorDefinitions(io::Printer* p) const { return _s; } inline const std::string& $Msg$::_internal_$name$() const { + $TsanDetectConcurrentRead$; $check_hasbit$; return $field_$.Get(); } inline void $Msg$::_internal_set_$name$(const std::string& value) { + $TsanDetectConcurrentMutation$; $update_hasbit$; //~ Don't use $Set$ here; we always want the std::string variant //~ regardless of whether this is a `bytes` field. $field_$.Set(value, $set_args$); } inline std::string* $Msg$::_internal_mutable_$name$() { + $TsanDetectConcurrentMutation$; $update_hasbit$; return $field_$.Mutable($lazy_args$, $set_args$); } inline std::string* $Msg$::$release_name$() { + $TsanDetectConcurrentMutation$; $annotate_release$; $PrepareSplitMessageForWrite$; // @@protoc_insertion_point(field_release:$pkg.Msg.field$) $release_impl$; } inline void $Msg$::set_allocated_$name$(std::string* value) { + $TsanDetectConcurrentMutation$; $PrepareSplitMessageForWrite$; $set_allocated_impl$; $annotate_set$; diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h index e7d6ddd942..ba3f788f65 100644 --- a/src/google/protobuf/compiler/plugin.pb.h +++ b/src/google/protobuf/compiler/plugin.pb.h @@ -1039,9 +1039,11 @@ inline void Version::set_major(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.compiler.Version.major) } inline ::int32_t Version::_internal_major() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.major_; } inline void Version::_internal_set_major(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.major_ = value; } @@ -1064,9 +1066,11 @@ inline void Version::set_minor(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.compiler.Version.minor) } inline ::int32_t Version::_internal_minor() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.minor_; } inline void Version::_internal_set_minor(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.minor_ = value; } @@ -1089,9 +1093,11 @@ inline void Version::set_patch(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.compiler.Version.patch) } inline ::int32_t Version::_internal_patch() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.patch_; } inline void Version::_internal_set_patch(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.patch_ = value; } @@ -1112,6 +1118,7 @@ inline const std::string& Version::suffix() const { template inline PROTOBUF_ALWAYS_INLINE void Version::set_suffix(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.suffix_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.compiler.Version.suffix) @@ -1122,17 +1129,21 @@ inline std::string* Version::mutable_suffix() { return _s; } inline const std::string& Version::_internal_suffix() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.suffix_.Get(); } inline void Version::_internal_set_suffix(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.suffix_.Set(value, GetArenaForAllocation()); } inline std::string* Version::_internal_mutable_suffix() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.suffix_.Mutable( GetArenaForAllocation()); } inline std::string* Version::release_suffix() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.compiler.Version.suffix) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -1145,6 +1156,7 @@ inline std::string* Version::release_suffix() { return released; } inline void Version::set_allocated_suffix(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -1275,6 +1287,7 @@ inline const std::string& CodeGeneratorRequest::parameter() const { template inline PROTOBUF_ALWAYS_INLINE void CodeGeneratorRequest::set_parameter(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.parameter_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.compiler.CodeGeneratorRequest.parameter) @@ -1285,17 +1298,21 @@ inline std::string* CodeGeneratorRequest::mutable_parameter() { return _s; } inline const std::string& CodeGeneratorRequest::_internal_parameter() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.parameter_.Get(); } inline void CodeGeneratorRequest::_internal_set_parameter(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.parameter_.Set(value, GetArenaForAllocation()); } inline std::string* CodeGeneratorRequest::_internal_mutable_parameter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.parameter_.Mutable( GetArenaForAllocation()); } inline std::string* CodeGeneratorRequest::release_parameter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.compiler.CodeGeneratorRequest.parameter) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -1308,6 +1325,7 @@ inline std::string* CodeGeneratorRequest::release_parameter() { return released; } inline void CodeGeneratorRequest::set_allocated_parameter(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -1376,6 +1394,7 @@ inline void CodeGeneratorRequest::clear_compiler_version() { _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::google::protobuf::compiler::Version& CodeGeneratorRequest::_internal_compiler_version() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::compiler::Version* p = _impl_.compiler_version_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::compiler::_Version_default_instance_); } @@ -1384,6 +1403,7 @@ inline const ::google::protobuf::compiler::Version& CodeGeneratorRequest::compil return _internal_compiler_version(); } inline void CodeGeneratorRequest::unsafe_arena_set_allocated_compiler_version(::google::protobuf::compiler::Version* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.compiler_version_); } @@ -1396,6 +1416,7 @@ inline void CodeGeneratorRequest::unsafe_arena_set_allocated_compiler_version(:: // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.compiler.CodeGeneratorRequest.compiler_version) } inline ::google::protobuf::compiler::Version* CodeGeneratorRequest::release_compiler_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; ::google::protobuf::compiler::Version* released = _impl_.compiler_version_; @@ -1414,6 +1435,7 @@ inline ::google::protobuf::compiler::Version* CodeGeneratorRequest::release_comp return released; } inline ::google::protobuf::compiler::Version* CodeGeneratorRequest::unsafe_arena_release_compiler_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.compiler.CodeGeneratorRequest.compiler_version) _impl_._has_bits_[0] &= ~0x00000002u; @@ -1422,6 +1444,7 @@ inline ::google::protobuf::compiler::Version* CodeGeneratorRequest::unsafe_arena return temp; } inline ::google::protobuf::compiler::Version* CodeGeneratorRequest::_internal_mutable_compiler_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.compiler_version_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::compiler::Version>(GetArenaForAllocation()); @@ -1436,6 +1459,7 @@ inline ::google::protobuf::compiler::Version* CodeGeneratorRequest::mutable_comp } inline void CodeGeneratorRequest::set_allocated_compiler_version(::google::protobuf::compiler::Version* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::compiler::Version*>(_impl_.compiler_version_); } @@ -1475,6 +1499,7 @@ inline const std::string& CodeGeneratorResponse_File::name() const { template inline PROTOBUF_ALWAYS_INLINE void CodeGeneratorResponse_File::set_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.compiler.CodeGeneratorResponse.File.name) @@ -1485,17 +1510,21 @@ inline std::string* CodeGeneratorResponse_File::mutable_name() { return _s; } inline const std::string& CodeGeneratorResponse_File::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void CodeGeneratorResponse_File::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(value, GetArenaForAllocation()); } inline std::string* CodeGeneratorResponse_File::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_.Mutable( GetArenaForAllocation()); } inline std::string* CodeGeneratorResponse_File::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.compiler.CodeGeneratorResponse.File.name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -1508,6 +1537,7 @@ inline std::string* CodeGeneratorResponse_File::release_name() { return released; } inline void CodeGeneratorResponse_File::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -1538,6 +1568,7 @@ inline const std::string& CodeGeneratorResponse_File::insertion_point() const { template inline PROTOBUF_ALWAYS_INLINE void CodeGeneratorResponse_File::set_insertion_point(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.insertion_point_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.compiler.CodeGeneratorResponse.File.insertion_point) @@ -1548,17 +1579,21 @@ inline std::string* CodeGeneratorResponse_File::mutable_insertion_point() { return _s; } inline const std::string& CodeGeneratorResponse_File::_internal_insertion_point() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.insertion_point_.Get(); } inline void CodeGeneratorResponse_File::_internal_set_insertion_point(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.insertion_point_.Set(value, GetArenaForAllocation()); } inline std::string* CodeGeneratorResponse_File::_internal_mutable_insertion_point() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; return _impl_.insertion_point_.Mutable( GetArenaForAllocation()); } inline std::string* CodeGeneratorResponse_File::release_insertion_point() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.compiler.CodeGeneratorResponse.File.insertion_point) if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; @@ -1571,6 +1606,7 @@ inline std::string* CodeGeneratorResponse_File::release_insertion_point() { return released; } inline void CodeGeneratorResponse_File::set_allocated_insertion_point(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { @@ -1601,6 +1637,7 @@ inline const std::string& CodeGeneratorResponse_File::content() const { template inline PROTOBUF_ALWAYS_INLINE void CodeGeneratorResponse_File::set_content(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.content_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.compiler.CodeGeneratorResponse.File.content) @@ -1611,17 +1648,21 @@ inline std::string* CodeGeneratorResponse_File::mutable_content() { return _s; } inline const std::string& CodeGeneratorResponse_File::_internal_content() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.content_.Get(); } inline void CodeGeneratorResponse_File::_internal_set_content(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.content_.Set(value, GetArenaForAllocation()); } inline std::string* CodeGeneratorResponse_File::_internal_mutable_content() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; return _impl_.content_.Mutable( GetArenaForAllocation()); } inline std::string* CodeGeneratorResponse_File::release_content() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.compiler.CodeGeneratorResponse.File.content) if ((_impl_._has_bits_[0] & 0x00000004u) == 0) { return nullptr; @@ -1634,6 +1675,7 @@ inline std::string* CodeGeneratorResponse_File::release_content() { return released; } inline void CodeGeneratorResponse_File::set_allocated_content(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000004u; } else { @@ -1655,6 +1697,7 @@ inline bool CodeGeneratorResponse_File::has_generated_code_info() const { return value; } inline const ::google::protobuf::GeneratedCodeInfo& CodeGeneratorResponse_File::_internal_generated_code_info() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::GeneratedCodeInfo* p = _impl_.generated_code_info_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_GeneratedCodeInfo_default_instance_); } @@ -1663,6 +1706,7 @@ inline const ::google::protobuf::GeneratedCodeInfo& CodeGeneratorResponse_File:: return _internal_generated_code_info(); } inline void CodeGeneratorResponse_File::unsafe_arena_set_allocated_generated_code_info(::google::protobuf::GeneratedCodeInfo* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.generated_code_info_); } @@ -1675,6 +1719,7 @@ inline void CodeGeneratorResponse_File::unsafe_arena_set_allocated_generated_cod // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.compiler.CodeGeneratorResponse.File.generated_code_info) } inline ::google::protobuf::GeneratedCodeInfo* CodeGeneratorResponse_File::release_generated_code_info() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000008u; ::google::protobuf::GeneratedCodeInfo* released = _impl_.generated_code_info_; @@ -1693,6 +1738,7 @@ inline ::google::protobuf::GeneratedCodeInfo* CodeGeneratorResponse_File::releas return released; } inline ::google::protobuf::GeneratedCodeInfo* CodeGeneratorResponse_File::unsafe_arena_release_generated_code_info() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.compiler.CodeGeneratorResponse.File.generated_code_info) _impl_._has_bits_[0] &= ~0x00000008u; @@ -1701,6 +1747,7 @@ inline ::google::protobuf::GeneratedCodeInfo* CodeGeneratorResponse_File::unsafe return temp; } inline ::google::protobuf::GeneratedCodeInfo* CodeGeneratorResponse_File::_internal_mutable_generated_code_info() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; if (_impl_.generated_code_info_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::GeneratedCodeInfo>(GetArenaForAllocation()); @@ -1715,6 +1762,7 @@ inline ::google::protobuf::GeneratedCodeInfo* CodeGeneratorResponse_File::mutabl } inline void CodeGeneratorResponse_File::set_allocated_generated_code_info(::google::protobuf::GeneratedCodeInfo* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.generated_code_info_); } @@ -1754,6 +1802,7 @@ inline const std::string& CodeGeneratorResponse::error() const { template inline PROTOBUF_ALWAYS_INLINE void CodeGeneratorResponse::set_error(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.error_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.compiler.CodeGeneratorResponse.error) @@ -1764,17 +1813,21 @@ inline std::string* CodeGeneratorResponse::mutable_error() { return _s; } inline const std::string& CodeGeneratorResponse::_internal_error() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.error_.Get(); } inline void CodeGeneratorResponse::_internal_set_error(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.error_.Set(value, GetArenaForAllocation()); } inline std::string* CodeGeneratorResponse::_internal_mutable_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.error_.Mutable( GetArenaForAllocation()); } inline std::string* CodeGeneratorResponse::release_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.compiler.CodeGeneratorResponse.error) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -1787,6 +1840,7 @@ inline std::string* CodeGeneratorResponse::release_error() { return released; } inline void CodeGeneratorResponse::set_allocated_error(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -1819,9 +1873,11 @@ inline void CodeGeneratorResponse::set_supported_features(::uint64_t value) { // @@protoc_insertion_point(field_set:google.protobuf.compiler.CodeGeneratorResponse.supported_features) } inline ::uint64_t CodeGeneratorResponse::_internal_supported_features() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.supported_features_; } inline void CodeGeneratorResponse::_internal_set_supported_features(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.supported_features_ = value; } diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h index c00fbf0768..f6a46327ff 100644 --- a/src/google/protobuf/descriptor.pb.h +++ b/src/google/protobuf/descriptor.pb.h @@ -8763,6 +8763,7 @@ inline const std::string& FileDescriptorProto::name() const { template inline PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.name) @@ -8773,17 +8774,21 @@ inline std::string* FileDescriptorProto::mutable_name() { return _s; } inline const std::string& FileDescriptorProto::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void FileDescriptorProto::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(value, GetArenaForAllocation()); } inline std::string* FileDescriptorProto::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_.Mutable( GetArenaForAllocation()); } inline std::string* FileDescriptorProto::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -8796,6 +8801,7 @@ inline std::string* FileDescriptorProto::release_name() { return released; } inline void FileDescriptorProto::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -8826,6 +8832,7 @@ inline const std::string& FileDescriptorProto::package() const { template inline PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_package(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.package_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.package) @@ -8836,17 +8843,21 @@ inline std::string* FileDescriptorProto::mutable_package() { return _s; } inline const std::string& FileDescriptorProto::_internal_package() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.package_.Get(); } inline void FileDescriptorProto::_internal_set_package(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.package_.Set(value, GetArenaForAllocation()); } inline std::string* FileDescriptorProto::_internal_mutable_package() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; return _impl_.package_.Mutable( GetArenaForAllocation()); } inline std::string* FileDescriptorProto::release_package() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.package) if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; @@ -8859,6 +8870,7 @@ inline std::string* FileDescriptorProto::release_package() { return released; } inline void FileDescriptorProto::set_allocated_package(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { @@ -9248,6 +9260,7 @@ inline void FileDescriptorProto::clear_options() { _impl_._has_bits_[0] &= ~0x00000010u; } inline const ::google::protobuf::FileOptions& FileDescriptorProto::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::FileOptions* p = _impl_.options_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_FileOptions_default_instance_); } @@ -9256,6 +9269,7 @@ inline const ::google::protobuf::FileOptions& FileDescriptorProto::options() con return _internal_options(); } inline void FileDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::FileOptions* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } @@ -9268,6 +9282,7 @@ inline void FileDescriptorProto::unsafe_arena_set_allocated_options(::google::pr // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FileDescriptorProto.options) } inline ::google::protobuf::FileOptions* FileDescriptorProto::release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000010u; ::google::protobuf::FileOptions* released = _impl_.options_; @@ -9286,6 +9301,7 @@ inline ::google::protobuf::FileOptions* FileDescriptorProto::release_options() { return released; } inline ::google::protobuf::FileOptions* FileDescriptorProto::unsafe_arena_release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.options) _impl_._has_bits_[0] &= ~0x00000010u; @@ -9294,6 +9310,7 @@ inline ::google::protobuf::FileOptions* FileDescriptorProto::unsafe_arena_releas return temp; } inline ::google::protobuf::FileOptions* FileDescriptorProto::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; if (_impl_.options_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::FileOptions>(GetArenaForAllocation()); @@ -9308,6 +9325,7 @@ inline ::google::protobuf::FileOptions* FileDescriptorProto::mutable_options() { } inline void FileDescriptorProto::set_allocated_options(::google::protobuf::FileOptions* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::FileOptions*>(_impl_.options_); } @@ -9338,6 +9356,7 @@ inline void FileDescriptorProto::clear_source_code_info() { _impl_._has_bits_[0] &= ~0x00000020u; } inline const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::_internal_source_code_info() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::SourceCodeInfo* p = _impl_.source_code_info_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_SourceCodeInfo_default_instance_); } @@ -9346,6 +9365,7 @@ inline const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::source_cod return _internal_source_code_info(); } inline void FileDescriptorProto::unsafe_arena_set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_code_info_); } @@ -9358,6 +9378,7 @@ inline void FileDescriptorProto::unsafe_arena_set_allocated_source_code_info(::g // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FileDescriptorProto.source_code_info) } inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::release_source_code_info() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000020u; ::google::protobuf::SourceCodeInfo* released = _impl_.source_code_info_; @@ -9376,6 +9397,7 @@ inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::release_source_c return released; } inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::unsafe_arena_release_source_code_info() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.source_code_info) _impl_._has_bits_[0] &= ~0x00000020u; @@ -9384,6 +9406,7 @@ inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::unsafe_arena_rel return temp; } inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::_internal_mutable_source_code_info() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000020u; if (_impl_.source_code_info_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::SourceCodeInfo>(GetArenaForAllocation()); @@ -9398,6 +9421,7 @@ inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::mutable_source_c } inline void FileDescriptorProto::set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::SourceCodeInfo*>(_impl_.source_code_info_); } @@ -9433,6 +9457,7 @@ inline const std::string& FileDescriptorProto::syntax() const { template inline PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_syntax(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.syntax_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.syntax) @@ -9443,17 +9468,21 @@ inline std::string* FileDescriptorProto::mutable_syntax() { return _s; } inline const std::string& FileDescriptorProto::_internal_syntax() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.syntax_.Get(); } inline void FileDescriptorProto::_internal_set_syntax(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.syntax_.Set(value, GetArenaForAllocation()); } inline std::string* FileDescriptorProto::_internal_mutable_syntax() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; return _impl_.syntax_.Mutable( GetArenaForAllocation()); } inline std::string* FileDescriptorProto::release_syntax() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.syntax) if ((_impl_._has_bits_[0] & 0x00000004u) == 0) { return nullptr; @@ -9466,6 +9495,7 @@ inline std::string* FileDescriptorProto::release_syntax() { return released; } inline void FileDescriptorProto::set_allocated_syntax(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000004u; } else { @@ -9496,6 +9526,7 @@ inline const std::string& FileDescriptorProto::edition() const { template inline PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_edition(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.edition_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.edition) @@ -9506,17 +9537,21 @@ inline std::string* FileDescriptorProto::mutable_edition() { return _s; } inline const std::string& FileDescriptorProto::_internal_edition() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.edition_.Get(); } inline void FileDescriptorProto::_internal_set_edition(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.edition_.Set(value, GetArenaForAllocation()); } inline std::string* FileDescriptorProto::_internal_mutable_edition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; return _impl_.edition_.Mutable( GetArenaForAllocation()); } inline std::string* FileDescriptorProto::release_edition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.edition) if ((_impl_._has_bits_[0] & 0x00000008u) == 0) { return nullptr; @@ -9529,6 +9564,7 @@ inline std::string* FileDescriptorProto::release_edition() { return released; } inline void FileDescriptorProto::set_allocated_edition(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000008u; } else { @@ -9565,9 +9601,11 @@ inline void DescriptorProto_ExtensionRange::set_start(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.start) } inline ::int32_t DescriptorProto_ExtensionRange::_internal_start() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.start_; } inline void DescriptorProto_ExtensionRange::_internal_set_start(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.start_ = value; } @@ -9590,9 +9628,11 @@ inline void DescriptorProto_ExtensionRange::set_end(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.end) } inline ::int32_t DescriptorProto_ExtensionRange::_internal_end() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.end_; } inline void DescriptorProto_ExtensionRange::_internal_set_end(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.end_ = value; } @@ -9608,6 +9648,7 @@ inline void DescriptorProto_ExtensionRange::clear_options() { _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::google::protobuf::ExtensionRangeOptions& DescriptorProto_ExtensionRange::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::ExtensionRangeOptions* p = _impl_.options_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_ExtensionRangeOptions_default_instance_); } @@ -9616,6 +9657,7 @@ inline const ::google::protobuf::ExtensionRangeOptions& DescriptorProto_Extensio return _internal_options(); } inline void DescriptorProto_ExtensionRange::unsafe_arena_set_allocated_options(::google::protobuf::ExtensionRangeOptions* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } @@ -9628,6 +9670,7 @@ inline void DescriptorProto_ExtensionRange::unsafe_arena_set_allocated_options(: // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.DescriptorProto.ExtensionRange.options) } inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange::release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; ::google::protobuf::ExtensionRangeOptions* released = _impl_.options_; @@ -9646,6 +9689,7 @@ inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange return released; } inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange::unsafe_arena_release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.ExtensionRange.options) _impl_._has_bits_[0] &= ~0x00000001u; @@ -9654,6 +9698,7 @@ inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange return temp; } inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.options_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::ExtensionRangeOptions>(GetArenaForAllocation()); @@ -9668,6 +9713,7 @@ inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange } inline void DescriptorProto_ExtensionRange::set_allocated_options(::google::protobuf::ExtensionRangeOptions* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::ExtensionRangeOptions*>(_impl_.options_); } @@ -9709,9 +9755,11 @@ inline void DescriptorProto_ReservedRange::set_start(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.start) } inline ::int32_t DescriptorProto_ReservedRange::_internal_start() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.start_; } inline void DescriptorProto_ReservedRange::_internal_set_start(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.start_ = value; } @@ -9734,9 +9782,11 @@ inline void DescriptorProto_ReservedRange::set_end(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.end) } inline ::int32_t DescriptorProto_ReservedRange::_internal_end() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.end_; } inline void DescriptorProto_ReservedRange::_internal_set_end(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.end_ = value; } @@ -9761,6 +9811,7 @@ inline const std::string& DescriptorProto::name() const { template inline PROTOBUF_ALWAYS_INLINE void DescriptorProto::set_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.name) @@ -9771,17 +9822,21 @@ inline std::string* DescriptorProto::mutable_name() { return _s; } inline const std::string& DescriptorProto::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void DescriptorProto::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(value, GetArenaForAllocation()); } inline std::string* DescriptorProto::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_.Mutable( GetArenaForAllocation()); } inline std::string* DescriptorProto::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -9794,6 +9849,7 @@ inline std::string* DescriptorProto::release_name() { return released; } inline void DescriptorProto::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -10095,6 +10151,7 @@ inline void DescriptorProto::clear_options() { _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::google::protobuf::MessageOptions& DescriptorProto::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::MessageOptions* p = _impl_.options_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_MessageOptions_default_instance_); } @@ -10103,6 +10160,7 @@ inline const ::google::protobuf::MessageOptions& DescriptorProto::options() cons return _internal_options(); } inline void DescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::MessageOptions* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } @@ -10115,6 +10173,7 @@ inline void DescriptorProto::unsafe_arena_set_allocated_options(::google::protob // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.DescriptorProto.options) } inline ::google::protobuf::MessageOptions* DescriptorProto::release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; ::google::protobuf::MessageOptions* released = _impl_.options_; @@ -10133,6 +10192,7 @@ inline ::google::protobuf::MessageOptions* DescriptorProto::release_options() { return released; } inline ::google::protobuf::MessageOptions* DescriptorProto::unsafe_arena_release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.options) _impl_._has_bits_[0] &= ~0x00000002u; @@ -10141,6 +10201,7 @@ inline ::google::protobuf::MessageOptions* DescriptorProto::unsafe_arena_release return temp; } inline ::google::protobuf::MessageOptions* DescriptorProto::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.options_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::MessageOptions>(GetArenaForAllocation()); @@ -10155,6 +10216,7 @@ inline ::google::protobuf::MessageOptions* DescriptorProto::mutable_options() { } inline void DescriptorProto::set_allocated_options(::google::protobuf::MessageOptions* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::MessageOptions*>(_impl_.options_); } @@ -10338,9 +10400,11 @@ inline void ExtensionRangeOptions_Declaration::set_number(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.number) } inline ::int32_t ExtensionRangeOptions_Declaration::_internal_number() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.number_; } inline void ExtensionRangeOptions_Declaration::_internal_set_number(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.number_ = value; } @@ -10361,6 +10425,7 @@ inline const std::string& ExtensionRangeOptions_Declaration::full_name() const { template inline PROTOBUF_ALWAYS_INLINE void ExtensionRangeOptions_Declaration::set_full_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.full_name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.full_name) @@ -10371,17 +10436,21 @@ inline std::string* ExtensionRangeOptions_Declaration::mutable_full_name() { return _s; } inline const std::string& ExtensionRangeOptions_Declaration::_internal_full_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.full_name_.Get(); } inline void ExtensionRangeOptions_Declaration::_internal_set_full_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.full_name_.Set(value, GetArenaForAllocation()); } inline std::string* ExtensionRangeOptions_Declaration::_internal_mutable_full_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.full_name_.Mutable( GetArenaForAllocation()); } inline std::string* ExtensionRangeOptions_Declaration::release_full_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.ExtensionRangeOptions.Declaration.full_name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -10394,6 +10463,7 @@ inline std::string* ExtensionRangeOptions_Declaration::release_full_name() { return released; } inline void ExtensionRangeOptions_Declaration::set_allocated_full_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -10424,6 +10494,7 @@ inline const std::string& ExtensionRangeOptions_Declaration::type() const { template inline PROTOBUF_ALWAYS_INLINE void ExtensionRangeOptions_Declaration::set_type(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.type_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.type) @@ -10434,17 +10505,21 @@ inline std::string* ExtensionRangeOptions_Declaration::mutable_type() { return _s; } inline const std::string& ExtensionRangeOptions_Declaration::_internal_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.type_.Get(); } inline void ExtensionRangeOptions_Declaration::_internal_set_type(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.type_.Set(value, GetArenaForAllocation()); } inline std::string* ExtensionRangeOptions_Declaration::_internal_mutable_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; return _impl_.type_.Mutable( GetArenaForAllocation()); } inline std::string* ExtensionRangeOptions_Declaration::release_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.ExtensionRangeOptions.Declaration.type) if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; @@ -10457,6 +10532,7 @@ inline std::string* ExtensionRangeOptions_Declaration::release_type() { return released; } inline void ExtensionRangeOptions_Declaration::set_allocated_type(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { @@ -10489,9 +10565,11 @@ inline void ExtensionRangeOptions_Declaration::set_is_repeated(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.is_repeated) } inline bool ExtensionRangeOptions_Declaration::_internal_is_repeated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.is_repeated_; } inline void ExtensionRangeOptions_Declaration::_internal_set_is_repeated(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.is_repeated_ = value; } @@ -10514,9 +10592,11 @@ inline void ExtensionRangeOptions_Declaration::set_reserved(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.reserved) } inline bool ExtensionRangeOptions_Declaration::_internal_reserved() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.reserved_; } inline void ExtensionRangeOptions_Declaration::_internal_set_reserved(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; _impl_.reserved_ = value; } @@ -10539,9 +10619,11 @@ inline void ExtensionRangeOptions_Declaration::set_repeated(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.repeated) } inline bool ExtensionRangeOptions_Declaration::_internal_repeated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.repeated_; } inline void ExtensionRangeOptions_Declaration::_internal_set_repeated(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000020u; _impl_.repeated_ = value; } @@ -10660,9 +10742,11 @@ inline void ExtensionRangeOptions::set_verification(::google::protobuf::Extensio // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.verification) } inline ::google::protobuf::ExtensionRangeOptions_VerificationState ExtensionRangeOptions::_internal_verification() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::ExtensionRangeOptions_VerificationState>(_impl_.verification_); } inline void ExtensionRangeOptions::_internal_set_verification(::google::protobuf::ExtensionRangeOptions_VerificationState value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::ExtensionRangeOptions_VerificationState_IsValid(value)); _impl_._has_bits_[0] |= 0x00000001u; _impl_.verification_ = value; @@ -10688,6 +10772,7 @@ inline const std::string& FieldDescriptorProto::name() const { template inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.name) @@ -10698,17 +10783,21 @@ inline std::string* FieldDescriptorProto::mutable_name() { return _s; } inline const std::string& FieldDescriptorProto::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void FieldDescriptorProto::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(value, GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_.Mutable( GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -10721,6 +10810,7 @@ inline std::string* FieldDescriptorProto::release_name() { return released; } inline void FieldDescriptorProto::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -10753,9 +10843,11 @@ inline void FieldDescriptorProto::set_number(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.number) } inline ::int32_t FieldDescriptorProto::_internal_number() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.number_; } inline void FieldDescriptorProto::_internal_set_number(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000040u; _impl_.number_ = value; } @@ -10778,9 +10870,11 @@ inline void FieldDescriptorProto::set_label(::google::protobuf::FieldDescriptorP // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.label) } inline ::google::protobuf::FieldDescriptorProto_Label FieldDescriptorProto::_internal_label() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::FieldDescriptorProto_Label>(_impl_.label_); } inline void FieldDescriptorProto::_internal_set_label(::google::protobuf::FieldDescriptorProto_Label value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::FieldDescriptorProto_Label_IsValid(value)); _impl_._has_bits_[0] |= 0x00000200u; _impl_.label_ = value; @@ -10804,9 +10898,11 @@ inline void FieldDescriptorProto::set_type(::google::protobuf::FieldDescriptorPr // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type) } inline ::google::protobuf::FieldDescriptorProto_Type FieldDescriptorProto::_internal_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::FieldDescriptorProto_Type>(_impl_.type_); } inline void FieldDescriptorProto::_internal_set_type(::google::protobuf::FieldDescriptorProto_Type value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::FieldDescriptorProto_Type_IsValid(value)); _impl_._has_bits_[0] |= 0x00000400u; _impl_.type_ = value; @@ -10828,6 +10924,7 @@ inline const std::string& FieldDescriptorProto::type_name() const { template inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_type_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.type_name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type_name) @@ -10838,17 +10935,21 @@ inline std::string* FieldDescriptorProto::mutable_type_name() { return _s; } inline const std::string& FieldDescriptorProto::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.type_name_.Get(); } inline void FieldDescriptorProto::_internal_set_type_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.type_name_.Set(value, GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; return _impl_.type_name_.Mutable( GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.type_name) if ((_impl_._has_bits_[0] & 0x00000004u) == 0) { return nullptr; @@ -10861,6 +10962,7 @@ inline std::string* FieldDescriptorProto::release_type_name() { return released; } inline void FieldDescriptorProto::set_allocated_type_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000004u; } else { @@ -10891,6 +10993,7 @@ inline const std::string& FieldDescriptorProto::extendee() const { template inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_extendee(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.extendee_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.extendee) @@ -10901,17 +11004,21 @@ inline std::string* FieldDescriptorProto::mutable_extendee() { return _s; } inline const std::string& FieldDescriptorProto::_internal_extendee() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.extendee_.Get(); } inline void FieldDescriptorProto::_internal_set_extendee(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.extendee_.Set(value, GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::_internal_mutable_extendee() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; return _impl_.extendee_.Mutable( GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::release_extendee() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.extendee) if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; @@ -10924,6 +11031,7 @@ inline std::string* FieldDescriptorProto::release_extendee() { return released; } inline void FieldDescriptorProto::set_allocated_extendee(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { @@ -10954,6 +11062,7 @@ inline const std::string& FieldDescriptorProto::default_value() const { template inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_default_value(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.default_value_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.default_value) @@ -10964,17 +11073,21 @@ inline std::string* FieldDescriptorProto::mutable_default_value() { return _s; } inline const std::string& FieldDescriptorProto::_internal_default_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.default_value_.Get(); } inline void FieldDescriptorProto::_internal_set_default_value(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.default_value_.Set(value, GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::_internal_mutable_default_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; return _impl_.default_value_.Mutable( GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::release_default_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.default_value) if ((_impl_._has_bits_[0] & 0x00000008u) == 0) { return nullptr; @@ -10987,6 +11100,7 @@ inline std::string* FieldDescriptorProto::release_default_value() { return released; } inline void FieldDescriptorProto::set_allocated_default_value(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000008u; } else { @@ -11019,9 +11133,11 @@ inline void FieldDescriptorProto::set_oneof_index(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.oneof_index) } inline ::int32_t FieldDescriptorProto::_internal_oneof_index() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.oneof_index_; } inline void FieldDescriptorProto::_internal_set_oneof_index(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000080u; _impl_.oneof_index_ = value; } @@ -11042,6 +11158,7 @@ inline const std::string& FieldDescriptorProto::json_name() const { template inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_json_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; _impl_.json_name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.json_name) @@ -11052,17 +11169,21 @@ inline std::string* FieldDescriptorProto::mutable_json_name() { return _s; } inline const std::string& FieldDescriptorProto::_internal_json_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.json_name_.Get(); } inline void FieldDescriptorProto::_internal_set_json_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; _impl_.json_name_.Set(value, GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::_internal_mutable_json_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; return _impl_.json_name_.Mutable( GetArenaForAllocation()); } inline std::string* FieldDescriptorProto::release_json_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.json_name) if ((_impl_._has_bits_[0] & 0x00000010u) == 0) { return nullptr; @@ -11075,6 +11196,7 @@ inline std::string* FieldDescriptorProto::release_json_name() { return released; } inline void FieldDescriptorProto::set_allocated_json_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000010u; } else { @@ -11100,6 +11222,7 @@ inline void FieldDescriptorProto::clear_options() { _impl_._has_bits_[0] &= ~0x00000020u; } inline const ::google::protobuf::FieldOptions& FieldDescriptorProto::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::FieldOptions* p = _impl_.options_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_FieldOptions_default_instance_); } @@ -11108,6 +11231,7 @@ inline const ::google::protobuf::FieldOptions& FieldDescriptorProto::options() c return _internal_options(); } inline void FieldDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::FieldOptions* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } @@ -11120,6 +11244,7 @@ inline void FieldDescriptorProto::unsafe_arena_set_allocated_options(::google::p // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FieldDescriptorProto.options) } inline ::google::protobuf::FieldOptions* FieldDescriptorProto::release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000020u; ::google::protobuf::FieldOptions* released = _impl_.options_; @@ -11138,6 +11263,7 @@ inline ::google::protobuf::FieldOptions* FieldDescriptorProto::release_options() return released; } inline ::google::protobuf::FieldOptions* FieldDescriptorProto::unsafe_arena_release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.options) _impl_._has_bits_[0] &= ~0x00000020u; @@ -11146,6 +11272,7 @@ inline ::google::protobuf::FieldOptions* FieldDescriptorProto::unsafe_arena_rele return temp; } inline ::google::protobuf::FieldOptions* FieldDescriptorProto::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000020u; if (_impl_.options_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::FieldOptions>(GetArenaForAllocation()); @@ -11160,6 +11287,7 @@ inline ::google::protobuf::FieldOptions* FieldDescriptorProto::mutable_options() } inline void FieldDescriptorProto::set_allocated_options(::google::protobuf::FieldOptions* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::FieldOptions*>(_impl_.options_); } @@ -11197,9 +11325,11 @@ inline void FieldDescriptorProto::set_proto3_optional(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.proto3_optional) } inline bool FieldDescriptorProto::_internal_proto3_optional() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.proto3_optional_; } inline void FieldDescriptorProto::_internal_set_proto3_optional(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000100u; _impl_.proto3_optional_ = value; } @@ -11224,6 +11354,7 @@ inline const std::string& OneofDescriptorProto::name() const { template inline PROTOBUF_ALWAYS_INLINE void OneofDescriptorProto::set_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.OneofDescriptorProto.name) @@ -11234,17 +11365,21 @@ inline std::string* OneofDescriptorProto::mutable_name() { return _s; } inline const std::string& OneofDescriptorProto::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void OneofDescriptorProto::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(value, GetArenaForAllocation()); } inline std::string* OneofDescriptorProto::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_.Mutable( GetArenaForAllocation()); } inline std::string* OneofDescriptorProto::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.OneofDescriptorProto.name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -11257,6 +11392,7 @@ inline std::string* OneofDescriptorProto::release_name() { return released; } inline void OneofDescriptorProto::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -11282,6 +11418,7 @@ inline void OneofDescriptorProto::clear_options() { _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::google::protobuf::OneofOptions& OneofDescriptorProto::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::OneofOptions* p = _impl_.options_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_OneofOptions_default_instance_); } @@ -11290,6 +11427,7 @@ inline const ::google::protobuf::OneofOptions& OneofDescriptorProto::options() c return _internal_options(); } inline void OneofDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::OneofOptions* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } @@ -11302,6 +11440,7 @@ inline void OneofDescriptorProto::unsafe_arena_set_allocated_options(::google::p // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.OneofDescriptorProto.options) } inline ::google::protobuf::OneofOptions* OneofDescriptorProto::release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; ::google::protobuf::OneofOptions* released = _impl_.options_; @@ -11320,6 +11459,7 @@ inline ::google::protobuf::OneofOptions* OneofDescriptorProto::release_options() return released; } inline ::google::protobuf::OneofOptions* OneofDescriptorProto::unsafe_arena_release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.OneofDescriptorProto.options) _impl_._has_bits_[0] &= ~0x00000002u; @@ -11328,6 +11468,7 @@ inline ::google::protobuf::OneofOptions* OneofDescriptorProto::unsafe_arena_rele return temp; } inline ::google::protobuf::OneofOptions* OneofDescriptorProto::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.options_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::OneofOptions>(GetArenaForAllocation()); @@ -11342,6 +11483,7 @@ inline ::google::protobuf::OneofOptions* OneofDescriptorProto::mutable_options() } inline void OneofDescriptorProto::set_allocated_options(::google::protobuf::OneofOptions* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::OneofOptions*>(_impl_.options_); } @@ -11383,9 +11525,11 @@ inline void EnumDescriptorProto_EnumReservedRange::set_start(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.EnumReservedRange.start) } inline ::int32_t EnumDescriptorProto_EnumReservedRange::_internal_start() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.start_; } inline void EnumDescriptorProto_EnumReservedRange::_internal_set_start(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.start_ = value; } @@ -11408,9 +11552,11 @@ inline void EnumDescriptorProto_EnumReservedRange::set_end(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.EnumReservedRange.end) } inline ::int32_t EnumDescriptorProto_EnumReservedRange::_internal_end() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.end_; } inline void EnumDescriptorProto_EnumReservedRange::_internal_set_end(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.end_ = value; } @@ -11435,6 +11581,7 @@ inline const std::string& EnumDescriptorProto::name() const { template inline PROTOBUF_ALWAYS_INLINE void EnumDescriptorProto::set_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.name) @@ -11445,17 +11592,21 @@ inline std::string* EnumDescriptorProto::mutable_name() { return _s; } inline const std::string& EnumDescriptorProto::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void EnumDescriptorProto::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(value, GetArenaForAllocation()); } inline std::string* EnumDescriptorProto::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_.Mutable( GetArenaForAllocation()); } inline std::string* EnumDescriptorProto::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -11468,6 +11619,7 @@ inline std::string* EnumDescriptorProto::release_name() { return released; } inline void EnumDescriptorProto::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -11539,6 +11691,7 @@ inline void EnumDescriptorProto::clear_options() { _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::google::protobuf::EnumOptions& EnumDescriptorProto::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::EnumOptions* p = _impl_.options_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_EnumOptions_default_instance_); } @@ -11547,6 +11700,7 @@ inline const ::google::protobuf::EnumOptions& EnumDescriptorProto::options() con return _internal_options(); } inline void EnumDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::EnumOptions* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } @@ -11559,6 +11713,7 @@ inline void EnumDescriptorProto::unsafe_arena_set_allocated_options(::google::pr // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumDescriptorProto.options) } inline ::google::protobuf::EnumOptions* EnumDescriptorProto::release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; ::google::protobuf::EnumOptions* released = _impl_.options_; @@ -11577,6 +11732,7 @@ inline ::google::protobuf::EnumOptions* EnumDescriptorProto::release_options() { return released; } inline ::google::protobuf::EnumOptions* EnumDescriptorProto::unsafe_arena_release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.options) _impl_._has_bits_[0] &= ~0x00000002u; @@ -11585,6 +11741,7 @@ inline ::google::protobuf::EnumOptions* EnumDescriptorProto::unsafe_arena_releas return temp; } inline ::google::protobuf::EnumOptions* EnumDescriptorProto::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.options_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::EnumOptions>(GetArenaForAllocation()); @@ -11599,6 +11756,7 @@ inline ::google::protobuf::EnumOptions* EnumDescriptorProto::mutable_options() { } inline void EnumDescriptorProto::set_allocated_options(::google::protobuf::EnumOptions* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::EnumOptions*>(_impl_.options_); } @@ -11780,6 +11938,7 @@ inline const std::string& EnumValueDescriptorProto::name() const { template inline PROTOBUF_ALWAYS_INLINE void EnumValueDescriptorProto::set_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.name) @@ -11790,17 +11949,21 @@ inline std::string* EnumValueDescriptorProto::mutable_name() { return _s; } inline const std::string& EnumValueDescriptorProto::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void EnumValueDescriptorProto::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(value, GetArenaForAllocation()); } inline std::string* EnumValueDescriptorProto::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_.Mutable( GetArenaForAllocation()); } inline std::string* EnumValueDescriptorProto::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -11813,6 +11976,7 @@ inline std::string* EnumValueDescriptorProto::release_name() { return released; } inline void EnumValueDescriptorProto::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -11845,9 +12009,11 @@ inline void EnumValueDescriptorProto::set_number(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.number) } inline ::int32_t EnumValueDescriptorProto::_internal_number() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.number_; } inline void EnumValueDescriptorProto::_internal_set_number(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.number_ = value; } @@ -11863,6 +12029,7 @@ inline void EnumValueDescriptorProto::clear_options() { _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::EnumValueOptions* p = _impl_.options_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_EnumValueOptions_default_instance_); } @@ -11871,6 +12038,7 @@ inline const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::opt return _internal_options(); } inline void EnumValueDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::EnumValueOptions* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } @@ -11883,6 +12051,7 @@ inline void EnumValueDescriptorProto::unsafe_arena_set_allocated_options(::googl // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumValueDescriptorProto.options) } inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; ::google::protobuf::EnumValueOptions* released = _impl_.options_; @@ -11901,6 +12070,7 @@ inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::release_o return released; } inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::unsafe_arena_release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.options) _impl_._has_bits_[0] &= ~0x00000002u; @@ -11909,6 +12079,7 @@ inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::unsafe_ar return temp; } inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.options_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::EnumValueOptions>(GetArenaForAllocation()); @@ -11923,6 +12094,7 @@ inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::mutable_o } inline void EnumValueDescriptorProto::set_allocated_options(::google::protobuf::EnumValueOptions* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::EnumValueOptions*>(_impl_.options_); } @@ -11962,6 +12134,7 @@ inline const std::string& ServiceDescriptorProto::name() const { template inline PROTOBUF_ALWAYS_INLINE void ServiceDescriptorProto::set_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.ServiceDescriptorProto.name) @@ -11972,17 +12145,21 @@ inline std::string* ServiceDescriptorProto::mutable_name() { return _s; } inline const std::string& ServiceDescriptorProto::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void ServiceDescriptorProto::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(value, GetArenaForAllocation()); } inline std::string* ServiceDescriptorProto::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_.Mutable( GetArenaForAllocation()); } inline std::string* ServiceDescriptorProto::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -11995,6 +12172,7 @@ inline std::string* ServiceDescriptorProto::release_name() { return released; } inline void ServiceDescriptorProto::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -12066,6 +12244,7 @@ inline void ServiceDescriptorProto::clear_options() { _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::ServiceOptions* p = _impl_.options_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_ServiceOptions_default_instance_); } @@ -12074,6 +12253,7 @@ inline const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::options return _internal_options(); } inline void ServiceDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::ServiceOptions* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } @@ -12086,6 +12266,7 @@ inline void ServiceDescriptorProto::unsafe_arena_set_allocated_options(::google: // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.ServiceDescriptorProto.options) } inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; ::google::protobuf::ServiceOptions* released = _impl_.options_; @@ -12104,6 +12285,7 @@ inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::release_optio return released; } inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::unsafe_arena_release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.options) _impl_._has_bits_[0] &= ~0x00000002u; @@ -12112,6 +12294,7 @@ inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::unsafe_arena_ return temp; } inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.options_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::ServiceOptions>(GetArenaForAllocation()); @@ -12126,6 +12309,7 @@ inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::mutable_optio } inline void ServiceDescriptorProto::set_allocated_options(::google::protobuf::ServiceOptions* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::ServiceOptions*>(_impl_.options_); } @@ -12165,6 +12349,7 @@ inline const std::string& MethodDescriptorProto::name() const { template inline PROTOBUF_ALWAYS_INLINE void MethodDescriptorProto::set_name(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.name) @@ -12175,17 +12360,21 @@ inline std::string* MethodDescriptorProto::mutable_name() { return _s; } inline const std::string& MethodDescriptorProto::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void MethodDescriptorProto::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_.Set(value, GetArenaForAllocation()); } inline std::string* MethodDescriptorProto::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_.Mutable( GetArenaForAllocation()); } inline std::string* MethodDescriptorProto::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.name) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -12198,6 +12387,7 @@ inline std::string* MethodDescriptorProto::release_name() { return released; } inline void MethodDescriptorProto::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -12228,6 +12418,7 @@ inline const std::string& MethodDescriptorProto::input_type() const { template inline PROTOBUF_ALWAYS_INLINE void MethodDescriptorProto::set_input_type(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.input_type_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.input_type) @@ -12238,17 +12429,21 @@ inline std::string* MethodDescriptorProto::mutable_input_type() { return _s; } inline const std::string& MethodDescriptorProto::_internal_input_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.input_type_.Get(); } inline void MethodDescriptorProto::_internal_set_input_type(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.input_type_.Set(value, GetArenaForAllocation()); } inline std::string* MethodDescriptorProto::_internal_mutable_input_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; return _impl_.input_type_.Mutable( GetArenaForAllocation()); } inline std::string* MethodDescriptorProto::release_input_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.input_type) if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; @@ -12261,6 +12456,7 @@ inline std::string* MethodDescriptorProto::release_input_type() { return released; } inline void MethodDescriptorProto::set_allocated_input_type(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { @@ -12291,6 +12487,7 @@ inline const std::string& MethodDescriptorProto::output_type() const { template inline PROTOBUF_ALWAYS_INLINE void MethodDescriptorProto::set_output_type(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.output_type_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.output_type) @@ -12301,17 +12498,21 @@ inline std::string* MethodDescriptorProto::mutable_output_type() { return _s; } inline const std::string& MethodDescriptorProto::_internal_output_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.output_type_.Get(); } inline void MethodDescriptorProto::_internal_set_output_type(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.output_type_.Set(value, GetArenaForAllocation()); } inline std::string* MethodDescriptorProto::_internal_mutable_output_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; return _impl_.output_type_.Mutable( GetArenaForAllocation()); } inline std::string* MethodDescriptorProto::release_output_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.output_type) if ((_impl_._has_bits_[0] & 0x00000004u) == 0) { return nullptr; @@ -12324,6 +12525,7 @@ inline std::string* MethodDescriptorProto::release_output_type() { return released; } inline void MethodDescriptorProto::set_allocated_output_type(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000004u; } else { @@ -12349,6 +12551,7 @@ inline void MethodDescriptorProto::clear_options() { _impl_._has_bits_[0] &= ~0x00000008u; } inline const ::google::protobuf::MethodOptions& MethodDescriptorProto::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::google::protobuf::MethodOptions* p = _impl_.options_; return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_MethodOptions_default_instance_); } @@ -12357,6 +12560,7 @@ inline const ::google::protobuf::MethodOptions& MethodDescriptorProto::options() return _internal_options(); } inline void MethodDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::MethodOptions* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } @@ -12369,6 +12573,7 @@ inline void MethodDescriptorProto::unsafe_arena_set_allocated_options(::google:: // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.MethodDescriptorProto.options) } inline ::google::protobuf::MethodOptions* MethodDescriptorProto::release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000008u; ::google::protobuf::MethodOptions* released = _impl_.options_; @@ -12387,6 +12592,7 @@ inline ::google::protobuf::MethodOptions* MethodDescriptorProto::release_options return released; } inline ::google::protobuf::MethodOptions* MethodDescriptorProto::unsafe_arena_release_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.options) _impl_._has_bits_[0] &= ~0x00000008u; @@ -12395,6 +12601,7 @@ inline ::google::protobuf::MethodOptions* MethodDescriptorProto::unsafe_arena_re return temp; } inline ::google::protobuf::MethodOptions* MethodDescriptorProto::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; if (_impl_.options_ == nullptr) { auto* p = CreateMaybeMessage<::google::protobuf::MethodOptions>(GetArenaForAllocation()); @@ -12409,6 +12616,7 @@ inline ::google::protobuf::MethodOptions* MethodDescriptorProto::mutable_options } inline void MethodDescriptorProto::set_allocated_options(::google::protobuf::MethodOptions* value) { ::google::protobuf::Arena* message_arena = GetArenaForAllocation(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { delete reinterpret_cast<::google::protobuf::MethodOptions*>(_impl_.options_); } @@ -12446,9 +12654,11 @@ inline void MethodDescriptorProto::set_client_streaming(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.client_streaming) } inline bool MethodDescriptorProto::_internal_client_streaming() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.client_streaming_; } inline void MethodDescriptorProto::_internal_set_client_streaming(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; _impl_.client_streaming_ = value; } @@ -12471,9 +12681,11 @@ inline void MethodDescriptorProto::set_server_streaming(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.server_streaming) } inline bool MethodDescriptorProto::_internal_server_streaming() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.server_streaming_; } inline void MethodDescriptorProto::_internal_set_server_streaming(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000020u; _impl_.server_streaming_ = value; } @@ -12498,6 +12710,7 @@ inline const std::string& FileOptions::java_package() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_java_package(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.java_package_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_package) @@ -12508,17 +12721,21 @@ inline std::string* FileOptions::mutable_java_package() { return _s; } inline const std::string& FileOptions::_internal_java_package() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.java_package_.Get(); } inline void FileOptions::_internal_set_java_package(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.java_package_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_java_package() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.java_package_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_java_package() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_package) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -12531,6 +12748,7 @@ inline std::string* FileOptions::release_java_package() { return released; } inline void FileOptions::set_allocated_java_package(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -12561,6 +12779,7 @@ inline const std::string& FileOptions::java_outer_classname() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_java_outer_classname(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.java_outer_classname_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_outer_classname) @@ -12571,17 +12790,21 @@ inline std::string* FileOptions::mutable_java_outer_classname() { return _s; } inline const std::string& FileOptions::_internal_java_outer_classname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.java_outer_classname_.Get(); } inline void FileOptions::_internal_set_java_outer_classname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.java_outer_classname_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_java_outer_classname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; return _impl_.java_outer_classname_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_java_outer_classname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_outer_classname) if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; @@ -12594,6 +12817,7 @@ inline std::string* FileOptions::release_java_outer_classname() { return released; } inline void FileOptions::set_allocated_java_outer_classname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { @@ -12626,9 +12850,11 @@ inline void FileOptions::set_java_multiple_files(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_multiple_files) } inline bool FileOptions::_internal_java_multiple_files() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.java_multiple_files_; } inline void FileOptions::_internal_set_java_multiple_files(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000400u; _impl_.java_multiple_files_ = value; } @@ -12651,9 +12877,11 @@ inline void FileOptions::set_java_generate_equals_and_hash(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generate_equals_and_hash) } inline bool FileOptions::_internal_java_generate_equals_and_hash() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.java_generate_equals_and_hash_; } inline void FileOptions::_internal_set_java_generate_equals_and_hash(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000800u; _impl_.java_generate_equals_and_hash_ = value; } @@ -12676,9 +12904,11 @@ inline void FileOptions::set_java_string_check_utf8(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_string_check_utf8) } inline bool FileOptions::_internal_java_string_check_utf8() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.java_string_check_utf8_; } inline void FileOptions::_internal_set_java_string_check_utf8(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00001000u; _impl_.java_string_check_utf8_ = value; } @@ -12701,9 +12931,11 @@ inline void FileOptions::set_optimize_for(::google::protobuf::FileOptions_Optimi // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.optimize_for) } inline ::google::protobuf::FileOptions_OptimizeMode FileOptions::_internal_optimize_for() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::FileOptions_OptimizeMode>(_impl_.optimize_for_); } inline void FileOptions::_internal_set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::FileOptions_OptimizeMode_IsValid(value)); _impl_._has_bits_[0] |= 0x00040000u; _impl_.optimize_for_ = value; @@ -12725,6 +12957,7 @@ inline const std::string& FileOptions::go_package() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_go_package(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.go_package_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.go_package) @@ -12735,17 +12968,21 @@ inline std::string* FileOptions::mutable_go_package() { return _s; } inline const std::string& FileOptions::_internal_go_package() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.go_package_.Get(); } inline void FileOptions::_internal_set_go_package(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.go_package_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_go_package() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; return _impl_.go_package_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_go_package() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.go_package) if ((_impl_._has_bits_[0] & 0x00000004u) == 0) { return nullptr; @@ -12758,6 +12995,7 @@ inline std::string* FileOptions::release_go_package() { return released; } inline void FileOptions::set_allocated_go_package(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000004u; } else { @@ -12790,9 +13028,11 @@ inline void FileOptions::set_cc_generic_services(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_generic_services) } inline bool FileOptions::_internal_cc_generic_services() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.cc_generic_services_; } inline void FileOptions::_internal_set_cc_generic_services(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00002000u; _impl_.cc_generic_services_ = value; } @@ -12815,9 +13055,11 @@ inline void FileOptions::set_java_generic_services(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generic_services) } inline bool FileOptions::_internal_java_generic_services() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.java_generic_services_; } inline void FileOptions::_internal_set_java_generic_services(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00004000u; _impl_.java_generic_services_ = value; } @@ -12840,9 +13082,11 @@ inline void FileOptions::set_py_generic_services(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.py_generic_services) } inline bool FileOptions::_internal_py_generic_services() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.py_generic_services_; } inline void FileOptions::_internal_set_py_generic_services(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00008000u; _impl_.py_generic_services_ = value; } @@ -12865,9 +13109,11 @@ inline void FileOptions::set_php_generic_services(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_generic_services) } inline bool FileOptions::_internal_php_generic_services() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.php_generic_services_; } inline void FileOptions::_internal_set_php_generic_services(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00010000u; _impl_.php_generic_services_ = value; } @@ -12890,9 +13136,11 @@ inline void FileOptions::set_deprecated(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.deprecated) } inline bool FileOptions::_internal_deprecated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.deprecated_; } inline void FileOptions::_internal_set_deprecated(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00020000u; _impl_.deprecated_ = value; } @@ -12915,9 +13163,11 @@ inline void FileOptions::set_cc_enable_arenas(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_enable_arenas) } inline bool FileOptions::_internal_cc_enable_arenas() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.cc_enable_arenas_; } inline void FileOptions::_internal_set_cc_enable_arenas(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00080000u; _impl_.cc_enable_arenas_ = value; } @@ -12938,6 +13188,7 @@ inline const std::string& FileOptions::objc_class_prefix() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_objc_class_prefix(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.objc_class_prefix_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.objc_class_prefix) @@ -12948,17 +13199,21 @@ inline std::string* FileOptions::mutable_objc_class_prefix() { return _s; } inline const std::string& FileOptions::_internal_objc_class_prefix() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.objc_class_prefix_.Get(); } inline void FileOptions::_internal_set_objc_class_prefix(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.objc_class_prefix_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_objc_class_prefix() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; return _impl_.objc_class_prefix_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_objc_class_prefix() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.objc_class_prefix) if ((_impl_._has_bits_[0] & 0x00000008u) == 0) { return nullptr; @@ -12971,6 +13226,7 @@ inline std::string* FileOptions::release_objc_class_prefix() { return released; } inline void FileOptions::set_allocated_objc_class_prefix(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000008u; } else { @@ -13001,6 +13257,7 @@ inline const std::string& FileOptions::csharp_namespace() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_csharp_namespace(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; _impl_.csharp_namespace_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.csharp_namespace) @@ -13011,17 +13268,21 @@ inline std::string* FileOptions::mutable_csharp_namespace() { return _s; } inline const std::string& FileOptions::_internal_csharp_namespace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.csharp_namespace_.Get(); } inline void FileOptions::_internal_set_csharp_namespace(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; _impl_.csharp_namespace_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_csharp_namespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; return _impl_.csharp_namespace_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_csharp_namespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.csharp_namespace) if ((_impl_._has_bits_[0] & 0x00000010u) == 0) { return nullptr; @@ -13034,6 +13295,7 @@ inline std::string* FileOptions::release_csharp_namespace() { return released; } inline void FileOptions::set_allocated_csharp_namespace(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000010u; } else { @@ -13064,6 +13326,7 @@ inline const std::string& FileOptions::swift_prefix() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_swift_prefix(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000020u; _impl_.swift_prefix_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.swift_prefix) @@ -13074,17 +13337,21 @@ inline std::string* FileOptions::mutable_swift_prefix() { return _s; } inline const std::string& FileOptions::_internal_swift_prefix() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.swift_prefix_.Get(); } inline void FileOptions::_internal_set_swift_prefix(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000020u; _impl_.swift_prefix_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_swift_prefix() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000020u; return _impl_.swift_prefix_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_swift_prefix() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.swift_prefix) if ((_impl_._has_bits_[0] & 0x00000020u) == 0) { return nullptr; @@ -13097,6 +13364,7 @@ inline std::string* FileOptions::release_swift_prefix() { return released; } inline void FileOptions::set_allocated_swift_prefix(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000020u; } else { @@ -13127,6 +13395,7 @@ inline const std::string& FileOptions::php_class_prefix() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_php_class_prefix(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000040u; _impl_.php_class_prefix_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_class_prefix) @@ -13137,17 +13406,21 @@ inline std::string* FileOptions::mutable_php_class_prefix() { return _s; } inline const std::string& FileOptions::_internal_php_class_prefix() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.php_class_prefix_.Get(); } inline void FileOptions::_internal_set_php_class_prefix(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000040u; _impl_.php_class_prefix_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_php_class_prefix() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000040u; return _impl_.php_class_prefix_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_php_class_prefix() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.php_class_prefix) if ((_impl_._has_bits_[0] & 0x00000040u) == 0) { return nullptr; @@ -13160,6 +13433,7 @@ inline std::string* FileOptions::release_php_class_prefix() { return released; } inline void FileOptions::set_allocated_php_class_prefix(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000040u; } else { @@ -13190,6 +13464,7 @@ inline const std::string& FileOptions::php_namespace() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_php_namespace(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000080u; _impl_.php_namespace_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_namespace) @@ -13200,17 +13475,21 @@ inline std::string* FileOptions::mutable_php_namespace() { return _s; } inline const std::string& FileOptions::_internal_php_namespace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.php_namespace_.Get(); } inline void FileOptions::_internal_set_php_namespace(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000080u; _impl_.php_namespace_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_php_namespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000080u; return _impl_.php_namespace_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_php_namespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.php_namespace) if ((_impl_._has_bits_[0] & 0x00000080u) == 0) { return nullptr; @@ -13223,6 +13502,7 @@ inline std::string* FileOptions::release_php_namespace() { return released; } inline void FileOptions::set_allocated_php_namespace(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000080u; } else { @@ -13253,6 +13533,7 @@ inline const std::string& FileOptions::php_metadata_namespace() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_php_metadata_namespace(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000100u; _impl_.php_metadata_namespace_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_metadata_namespace) @@ -13263,17 +13544,21 @@ inline std::string* FileOptions::mutable_php_metadata_namespace() { return _s; } inline const std::string& FileOptions::_internal_php_metadata_namespace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.php_metadata_namespace_.Get(); } inline void FileOptions::_internal_set_php_metadata_namespace(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000100u; _impl_.php_metadata_namespace_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_php_metadata_namespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000100u; return _impl_.php_metadata_namespace_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_php_metadata_namespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.php_metadata_namespace) if ((_impl_._has_bits_[0] & 0x00000100u) == 0) { return nullptr; @@ -13286,6 +13571,7 @@ inline std::string* FileOptions::release_php_metadata_namespace() { return released; } inline void FileOptions::set_allocated_php_metadata_namespace(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000100u; } else { @@ -13316,6 +13602,7 @@ inline const std::string& FileOptions::ruby_package() const { template inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_ruby_package(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000200u; _impl_.ruby_package_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.ruby_package) @@ -13326,17 +13613,21 @@ inline std::string* FileOptions::mutable_ruby_package() { return _s; } inline const std::string& FileOptions::_internal_ruby_package() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.ruby_package_.Get(); } inline void FileOptions::_internal_set_ruby_package(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000200u; _impl_.ruby_package_.Set(value, GetArenaForAllocation()); } inline std::string* FileOptions::_internal_mutable_ruby_package() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000200u; return _impl_.ruby_package_.Mutable( GetArenaForAllocation()); } inline std::string* FileOptions::release_ruby_package() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.ruby_package) if ((_impl_._has_bits_[0] & 0x00000200u) == 0) { return nullptr; @@ -13349,6 +13640,7 @@ inline std::string* FileOptions::release_ruby_package() { return released; } inline void FileOptions::set_allocated_ruby_package(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000200u; } else { @@ -13431,9 +13723,11 @@ inline void MessageOptions::set_message_set_wire_format(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.message_set_wire_format) } inline bool MessageOptions::_internal_message_set_wire_format() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.message_set_wire_format_; } inline void MessageOptions::_internal_set_message_set_wire_format(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.message_set_wire_format_ = value; } @@ -13456,9 +13750,11 @@ inline void MessageOptions::set_no_standard_descriptor_accessor(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.no_standard_descriptor_accessor) } inline bool MessageOptions::_internal_no_standard_descriptor_accessor() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.no_standard_descriptor_accessor_; } inline void MessageOptions::_internal_set_no_standard_descriptor_accessor(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.no_standard_descriptor_accessor_ = value; } @@ -13481,9 +13777,11 @@ inline void MessageOptions::set_deprecated(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.deprecated) } inline bool MessageOptions::_internal_deprecated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.deprecated_; } inline void MessageOptions::_internal_set_deprecated(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.deprecated_ = value; } @@ -13506,9 +13804,11 @@ inline void MessageOptions::set_map_entry(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.map_entry) } inline bool MessageOptions::_internal_map_entry() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.map_entry_; } inline void MessageOptions::_internal_set_map_entry(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.map_entry_ = value; } @@ -13531,9 +13831,11 @@ inline void MessageOptions::set_deprecated_legacy_json_field_conflicts(bool valu // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts) } inline bool MessageOptions::_internal_deprecated_legacy_json_field_conflicts() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.deprecated_legacy_json_field_conflicts_; } inline void MessageOptions::_internal_set_deprecated_legacy_json_field_conflicts(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; _impl_.deprecated_legacy_json_field_conflicts_ = value; } @@ -13606,9 +13908,11 @@ inline void FieldOptions::set_ctype(::google::protobuf::FieldOptions_CType value // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.ctype) } inline ::google::protobuf::FieldOptions_CType FieldOptions::_internal_ctype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::FieldOptions_CType>(_impl_.ctype_); } inline void FieldOptions::_internal_set_ctype(::google::protobuf::FieldOptions_CType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::FieldOptions_CType_IsValid(value)); _impl_._has_bits_[0] |= 0x00000001u; _impl_.ctype_ = value; @@ -13632,9 +13936,11 @@ inline void FieldOptions::set_packed(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.packed) } inline bool FieldOptions::_internal_packed() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.packed_; } inline void FieldOptions::_internal_set_packed(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.packed_ = value; } @@ -13657,9 +13963,11 @@ inline void FieldOptions::set_jstype(::google::protobuf::FieldOptions_JSType val // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.jstype) } inline ::google::protobuf::FieldOptions_JSType FieldOptions::_internal_jstype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::FieldOptions_JSType>(_impl_.jstype_); } inline void FieldOptions::_internal_set_jstype(::google::protobuf::FieldOptions_JSType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::FieldOptions_JSType_IsValid(value)); _impl_._has_bits_[0] |= 0x00000002u; _impl_.jstype_ = value; @@ -13683,9 +13991,11 @@ inline void FieldOptions::set_lazy(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.lazy) } inline bool FieldOptions::_internal_lazy() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.lazy_; } inline void FieldOptions::_internal_set_lazy(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.lazy_ = value; } @@ -13708,9 +14018,11 @@ inline void FieldOptions::set_unverified_lazy(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.unverified_lazy) } inline bool FieldOptions::_internal_unverified_lazy() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.unverified_lazy_; } inline void FieldOptions::_internal_set_unverified_lazy(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; _impl_.unverified_lazy_ = value; } @@ -13733,9 +14045,11 @@ inline void FieldOptions::set_deprecated(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.deprecated) } inline bool FieldOptions::_internal_deprecated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.deprecated_; } inline void FieldOptions::_internal_set_deprecated(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000020u; _impl_.deprecated_ = value; } @@ -13758,9 +14072,11 @@ inline void FieldOptions::set_weak(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.weak) } inline bool FieldOptions::_internal_weak() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.weak_; } inline void FieldOptions::_internal_set_weak(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000040u; _impl_.weak_ = value; } @@ -13783,9 +14099,11 @@ inline void FieldOptions::set_debug_redact(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.debug_redact) } inline bool FieldOptions::_internal_debug_redact() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.debug_redact_; } inline void FieldOptions::_internal_set_debug_redact(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000080u; _impl_.debug_redact_ = value; } @@ -13808,9 +14126,11 @@ inline void FieldOptions::set_retention(::google::protobuf::FieldOptions_OptionR // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.retention) } inline ::google::protobuf::FieldOptions_OptionRetention FieldOptions::_internal_retention() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::FieldOptions_OptionRetention>(_impl_.retention_); } inline void FieldOptions::_internal_set_retention(::google::protobuf::FieldOptions_OptionRetention value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::FieldOptions_OptionRetention_IsValid(value)); _impl_._has_bits_[0] |= 0x00000100u; _impl_.retention_ = value; @@ -13923,9 +14243,11 @@ inline void FieldOptions::set_target_obsolete_do_not_use(::google::protobuf::Fie // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.target_obsolete_do_not_use) } inline ::google::protobuf::FieldOptions_OptionTargetType FieldOptions::_internal_target_obsolete_do_not_use() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::FieldOptions_OptionTargetType>(_impl_.target_obsolete_do_not_use_); } inline void FieldOptions::_internal_set_target_obsolete_do_not_use(::google::protobuf::FieldOptions_OptionTargetType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::FieldOptions_OptionTargetType_IsValid(value)); _impl_._has_bits_[0] |= 0x00000200u; _impl_.target_obsolete_do_not_use_ = value; @@ -14003,9 +14325,11 @@ inline void EnumOptions::set_allow_alias(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.allow_alias) } inline bool EnumOptions::_internal_allow_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.allow_alias_; } inline void EnumOptions::_internal_set_allow_alias(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.allow_alias_ = value; } @@ -14028,9 +14352,11 @@ inline void EnumOptions::set_deprecated(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.deprecated) } inline bool EnumOptions::_internal_deprecated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.deprecated_; } inline void EnumOptions::_internal_set_deprecated(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.deprecated_ = value; } @@ -14053,9 +14379,11 @@ inline void EnumOptions::set_deprecated_legacy_json_field_conflicts(bool value) // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts) } inline bool EnumOptions::_internal_deprecated_legacy_json_field_conflicts() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.deprecated_legacy_json_field_conflicts_; } inline void EnumOptions::_internal_set_deprecated_legacy_json_field_conflicts(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.deprecated_legacy_json_field_conflicts_ = value; } @@ -14128,9 +14456,11 @@ inline void EnumValueOptions::set_deprecated(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.EnumValueOptions.deprecated) } inline bool EnumValueOptions::_internal_deprecated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.deprecated_; } inline void EnumValueOptions::_internal_set_deprecated(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.deprecated_ = value; } @@ -14153,9 +14483,11 @@ inline void EnumValueOptions::set_debug_redact(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.EnumValueOptions.debug_redact) } inline bool EnumValueOptions::_internal_debug_redact() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.debug_redact_; } inline void EnumValueOptions::_internal_set_debug_redact(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.debug_redact_ = value; } @@ -14228,9 +14560,11 @@ inline void ServiceOptions::set_deprecated(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.ServiceOptions.deprecated) } inline bool ServiceOptions::_internal_deprecated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.deprecated_; } inline void ServiceOptions::_internal_set_deprecated(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.deprecated_ = value; } @@ -14303,9 +14637,11 @@ inline void MethodOptions::set_deprecated(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.MethodOptions.deprecated) } inline bool MethodOptions::_internal_deprecated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.deprecated_; } inline void MethodOptions::_internal_set_deprecated(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.deprecated_ = value; } @@ -14328,9 +14664,11 @@ inline void MethodOptions::set_idempotency_level(::google::protobuf::MethodOptio // @@protoc_insertion_point(field_set:google.protobuf.MethodOptions.idempotency_level) } inline ::google::protobuf::MethodOptions_IdempotencyLevel MethodOptions::_internal_idempotency_level() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::MethodOptions_IdempotencyLevel>(_impl_.idempotency_level_); } inline void MethodOptions::_internal_set_idempotency_level(::google::protobuf::MethodOptions_IdempotencyLevel value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::MethodOptions_IdempotencyLevel_IsValid(value)); _impl_._has_bits_[0] |= 0x00000002u; _impl_.idempotency_level_ = value; @@ -14402,6 +14740,7 @@ inline const std::string& UninterpretedOption_NamePart::name_part() const { template inline PROTOBUF_ALWAYS_INLINE void UninterpretedOption_NamePart::set_name_part(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_part_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.name_part) @@ -14412,17 +14751,21 @@ inline std::string* UninterpretedOption_NamePart::mutable_name_part() { return _s; } inline const std::string& UninterpretedOption_NamePart::_internal_name_part() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_part_.Get(); } inline void UninterpretedOption_NamePart::_internal_set_name_part(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.name_part_.Set(value, GetArenaForAllocation()); } inline std::string* UninterpretedOption_NamePart::_internal_mutable_name_part() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.name_part_.Mutable( GetArenaForAllocation()); } inline std::string* UninterpretedOption_NamePart::release_name_part() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.NamePart.name_part) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -14435,6 +14778,7 @@ inline std::string* UninterpretedOption_NamePart::release_name_part() { return released; } inline void UninterpretedOption_NamePart::set_allocated_name_part(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -14467,9 +14811,11 @@ inline void UninterpretedOption_NamePart::set_is_extension(bool value) { // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.is_extension) } inline bool UninterpretedOption_NamePart::_internal_is_extension() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.is_extension_; } inline void UninterpretedOption_NamePart::_internal_set_is_extension(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.is_extension_ = value; } @@ -14540,6 +14886,7 @@ inline const std::string& UninterpretedOption::identifier_value() const { template inline PROTOBUF_ALWAYS_INLINE void UninterpretedOption::set_identifier_value(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.identifier_value_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.identifier_value) @@ -14550,17 +14897,21 @@ inline std::string* UninterpretedOption::mutable_identifier_value() { return _s; } inline const std::string& UninterpretedOption::_internal_identifier_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.identifier_value_.Get(); } inline void UninterpretedOption::_internal_set_identifier_value(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.identifier_value_.Set(value, GetArenaForAllocation()); } inline std::string* UninterpretedOption::_internal_mutable_identifier_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.identifier_value_.Mutable( GetArenaForAllocation()); } inline std::string* UninterpretedOption::release_identifier_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.identifier_value) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -14573,6 +14924,7 @@ inline std::string* UninterpretedOption::release_identifier_value() { return released; } inline void UninterpretedOption::set_allocated_identifier_value(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -14605,9 +14957,11 @@ inline void UninterpretedOption::set_positive_int_value(::uint64_t value) { // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.positive_int_value) } inline ::uint64_t UninterpretedOption::_internal_positive_int_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.positive_int_value_; } inline void UninterpretedOption::_internal_set_positive_int_value(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000008u; _impl_.positive_int_value_ = value; } @@ -14630,9 +14984,11 @@ inline void UninterpretedOption::set_negative_int_value(::int64_t value) { // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.negative_int_value) } inline ::int64_t UninterpretedOption::_internal_negative_int_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.negative_int_value_; } inline void UninterpretedOption::_internal_set_negative_int_value(::int64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000010u; _impl_.negative_int_value_ = value; } @@ -14655,9 +15011,11 @@ inline void UninterpretedOption::set_double_value(double value) { // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.double_value) } inline double UninterpretedOption::_internal_double_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.double_value_; } inline void UninterpretedOption::_internal_set_double_value(double value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000020u; _impl_.double_value_ = value; } @@ -14678,6 +15036,7 @@ inline const std::string& UninterpretedOption::string_value() const { template inline PROTOBUF_ALWAYS_INLINE void UninterpretedOption::set_string_value(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.string_value_.SetBytes(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.string_value) @@ -14688,17 +15047,21 @@ inline std::string* UninterpretedOption::mutable_string_value() { return _s; } inline const std::string& UninterpretedOption::_internal_string_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.string_value_.Get(); } inline void UninterpretedOption::_internal_set_string_value(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.string_value_.Set(value, GetArenaForAllocation()); } inline std::string* UninterpretedOption::_internal_mutable_string_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; return _impl_.string_value_.Mutable( GetArenaForAllocation()); } inline std::string* UninterpretedOption::release_string_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.string_value) if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; @@ -14711,6 +15074,7 @@ inline std::string* UninterpretedOption::release_string_value() { return released; } inline void UninterpretedOption::set_allocated_string_value(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { @@ -14741,6 +15105,7 @@ inline const std::string& UninterpretedOption::aggregate_value() const { template inline PROTOBUF_ALWAYS_INLINE void UninterpretedOption::set_aggregate_value(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.aggregate_value_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.aggregate_value) @@ -14751,17 +15116,21 @@ inline std::string* UninterpretedOption::mutable_aggregate_value() { return _s; } inline const std::string& UninterpretedOption::_internal_aggregate_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.aggregate_value_.Get(); } inline void UninterpretedOption::_internal_set_aggregate_value(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.aggregate_value_.Set(value, GetArenaForAllocation()); } inline std::string* UninterpretedOption::_internal_mutable_aggregate_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; return _impl_.aggregate_value_.Mutable( GetArenaForAllocation()); } inline std::string* UninterpretedOption::release_aggregate_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.aggregate_value) if ((_impl_._has_bits_[0] & 0x00000004u) == 0) { return nullptr; @@ -14774,6 +15143,7 @@ inline std::string* UninterpretedOption::release_aggregate_value() { return released; } inline void UninterpretedOption::set_allocated_aggregate_value(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000004u; } else { @@ -14892,6 +15262,7 @@ inline const std::string& SourceCodeInfo_Location::leading_comments() const { template inline PROTOBUF_ALWAYS_INLINE void SourceCodeInfo_Location::set_leading_comments(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.leading_comments_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_comments) @@ -14902,17 +15273,21 @@ inline std::string* SourceCodeInfo_Location::mutable_leading_comments() { return _s; } inline const std::string& SourceCodeInfo_Location::_internal_leading_comments() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.leading_comments_.Get(); } inline void SourceCodeInfo_Location::_internal_set_leading_comments(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.leading_comments_.Set(value, GetArenaForAllocation()); } inline std::string* SourceCodeInfo_Location::_internal_mutable_leading_comments() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.leading_comments_.Mutable( GetArenaForAllocation()); } inline std::string* SourceCodeInfo_Location::release_leading_comments() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.leading_comments) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -14925,6 +15300,7 @@ inline std::string* SourceCodeInfo_Location::release_leading_comments() { return released; } inline void SourceCodeInfo_Location::set_allocated_leading_comments(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -14955,6 +15331,7 @@ inline const std::string& SourceCodeInfo_Location::trailing_comments() const { template inline PROTOBUF_ALWAYS_INLINE void SourceCodeInfo_Location::set_trailing_comments(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.trailing_comments_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.trailing_comments) @@ -14965,17 +15342,21 @@ inline std::string* SourceCodeInfo_Location::mutable_trailing_comments() { return _s; } inline const std::string& SourceCodeInfo_Location::_internal_trailing_comments() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.trailing_comments_.Get(); } inline void SourceCodeInfo_Location::_internal_set_trailing_comments(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.trailing_comments_.Set(value, GetArenaForAllocation()); } inline std::string* SourceCodeInfo_Location::_internal_mutable_trailing_comments() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; return _impl_.trailing_comments_.Mutable( GetArenaForAllocation()); } inline std::string* SourceCodeInfo_Location::release_trailing_comments() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.trailing_comments) if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; @@ -14988,6 +15369,7 @@ inline std::string* SourceCodeInfo_Location::release_trailing_comments() { return released; } inline void SourceCodeInfo_Location::set_allocated_trailing_comments(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { @@ -15210,6 +15592,7 @@ inline const std::string& GeneratedCodeInfo_Annotation::source_file() const { template inline PROTOBUF_ALWAYS_INLINE void GeneratedCodeInfo_Annotation::set_source_file(Arg_&& arg, Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.source_file_.Set(static_cast(arg), args..., GetArenaForAllocation()); // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.source_file) @@ -15220,17 +15603,21 @@ inline std::string* GeneratedCodeInfo_Annotation::mutable_source_file() { return _s; } inline const std::string& GeneratedCodeInfo_Annotation::_internal_source_file() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.source_file_.Get(); } inline void GeneratedCodeInfo_Annotation::_internal_set_source_file(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; _impl_.source_file_.Set(value, GetArenaForAllocation()); } inline std::string* GeneratedCodeInfo_Annotation::_internal_mutable_source_file() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; return _impl_.source_file_.Mutable( GetArenaForAllocation()); } inline std::string* GeneratedCodeInfo_Annotation::release_source_file() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:google.protobuf.GeneratedCodeInfo.Annotation.source_file) if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { return nullptr; @@ -15243,6 +15630,7 @@ inline std::string* GeneratedCodeInfo_Annotation::release_source_file() { return released; } inline void GeneratedCodeInfo_Annotation::set_allocated_source_file(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { @@ -15275,9 +15663,11 @@ inline void GeneratedCodeInfo_Annotation::set_begin(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.begin) } inline ::int32_t GeneratedCodeInfo_Annotation::_internal_begin() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.begin_; } inline void GeneratedCodeInfo_Annotation::_internal_set_begin(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; _impl_.begin_ = value; } @@ -15300,9 +15690,11 @@ inline void GeneratedCodeInfo_Annotation::set_end(::int32_t value) { // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.end) } inline ::int32_t GeneratedCodeInfo_Annotation::_internal_end() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.end_; } inline void GeneratedCodeInfo_Annotation::_internal_set_end(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; _impl_.end_ = value; } @@ -15325,9 +15717,11 @@ inline void GeneratedCodeInfo_Annotation::set_semantic(::google::protobuf::Gener // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.semantic) } inline ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::_internal_semantic() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return static_cast<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic>(_impl_.semantic_); } inline void GeneratedCodeInfo_Annotation::_internal_set_semantic(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); assert(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic_IsValid(value)); _impl_._has_bits_[0] |= 0x00000008u; _impl_.semantic_ = value;