From f0c75595943283aff09953849b7ca9be51e8f70e Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Thu, 19 Jan 2023 12:50:38 -0800 Subject: [PATCH] Automated rollback of commit 58f6216d8dddb90791579595fbe4d9e74c34d59c. PiperOrigin-RevId: 503240831 --- src/google/protobuf/compiler/cpp/file.cc | 9 ++++----- src/google/protobuf/descriptor.cc | 14 ++------------ src/google/protobuf/descriptor.h | 7 ------- src/google/protobuf/descriptor_unittest.cc | 3 --- src/google/protobuf/port_def.inc | 4 ---- src/google/protobuf/port_undef.inc | 1 - 6 files changed, 6 insertions(+), 32 deletions(-) diff --git a/src/google/protobuf/compiler/cpp/file.cc b/src/google/protobuf/compiler/cpp/file.cc index acb223b24d..9e5dc18b9c 100644 --- a/src/google/protobuf/compiler/cpp/file.cc +++ b/src/google/protobuf/compiler/cpp/file.cc @@ -1100,11 +1100,10 @@ void FileGenerator::GenerateReflectionInitializationCode(io::Printer* p) { } )cc"); - // For proto files included in the full runtime (i.e. descriptor.proto - // and extension_declarations.proto), we want to avoid doing any dynamic - // initialization, because in some situations that would otherwise pull - // in a lot of unnecessary code that can't be stripped by --gc-sections. - // Initialization will still be performed lazily when it's needed. + // For descriptor.proto we want to avoid doing any dynamic initialization, + // because in some situations that would otherwise pull in a lot of + // unnecessary code that can't be stripped by --gc-sections. Descriptor + // initialization will still be performed lazily when it's needed. if (file_->name() == "net/proto2/proto/descriptor.proto") { return; } diff --git a/src/google/protobuf/descriptor.cc b/src/google/protobuf/descriptor.cc index f4fa637474..56680391f1 100644 --- a/src/google/protobuf/descriptor.cc +++ b/src/google/protobuf/descriptor.cc @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -63,11 +62,8 @@ #include "absl/strings/str_format.h" #include "absl/strings/str_join.h" #include "absl/strings/str_split.h" -#include "absl/strings/string_view.h" -#include "absl/strings/strip.h" #include "absl/strings/substitute.h" #include "absl/synchronization/mutex.h" -#include "absl/types/optional.h" #include "google/protobuf/any.h" #include "google/protobuf/descriptor.pb.h" #include "google/protobuf/descriptor_database.h" @@ -1876,7 +1872,6 @@ void DescriptorPool::AddUnusedImportTrackFile(absl::string_view file_name, unused_import_track_files_[file_name] = is_error; } - void DescriptorPool::ClearUnusedImportTrackFiles() { unused_import_track_files_.clear(); } @@ -1917,11 +1912,7 @@ DescriptorPool* DescriptorPool::internal_generated_pool() { const DescriptorPool* DescriptorPool::generated_pool() { const DescriptorPool* pool = internal_generated_pool(); - // Ensure that descriptor.proto and extension_declarations.proto get - // registered in the generated pool. These protos are a special case - // because they are included in the full runtime. We have to avoid - // registering them pre-main, because we need to ensure that the linker - // --gc-sections step can strip out the full runtime if it is unused. + // Ensure that descriptor.proto has been registered in the generated pool. DescriptorProto::descriptor(); return pool; } @@ -6482,7 +6473,6 @@ void DescriptorBuilder::CrossLinkExtensionRange( } } - void DescriptorBuilder::CrossLinkField(FieldDescriptor* field, const FieldDescriptorProto& proto) { if (field->options_ == nullptr) { @@ -7122,7 +7112,7 @@ void DescriptorBuilder::ValidateFieldOptions( // determine whether the json_name option is set on the field. Here we // compare it against the default calculated json_name value and consider // the option set if they are different. This won't catch the case when - // a user explicitly sets json_name to the default value, but should be + // an user explicitly sets json_name to the default value, but should be // good enough to catch common misuses. if (field->is_extension() && (field->has_json_name() && diff --git a/src/google/protobuf/descriptor.h b/src/google/protobuf/descriptor.h index de6d960a2a..40f255bc4f 100644 --- a/src/google/protobuf/descriptor.h +++ b/src/google/protobuf/descriptor.h @@ -70,7 +70,6 @@ #include "google/protobuf/stubs/logging.h" #include "absl/strings/string_view.h" #include "absl/synchronization/mutex.h" -#include "absl/types/optional.h" #include "google/protobuf/port.h" // Must be included last. @@ -84,9 +83,6 @@ namespace google { namespace protobuf { -// Defined in extension_declaration.proto. -class ExtensionMetadata; - // Defined in this file. class Descriptor; class FieldDescriptor; @@ -144,7 +140,6 @@ class Formatter; namespace descriptor_unittest { class DescriptorTest; -class ValidationErrorTest; } // namespace descriptor_unittest // Defined in printer.h @@ -2092,7 +2087,6 @@ class PROTOBUF_EXPORT DescriptorPool { friend class FileDescriptor; friend class DescriptorBuilder; friend class FileDescriptorTables; - friend class google::protobuf::descriptor_unittest::ValidationErrorTest; // Return true if the given name is a sub-symbol of any non-package // descriptor that already exists in the descriptor pool. (The full @@ -2168,7 +2162,6 @@ class PROTOBUF_EXPORT DescriptorPool { // Set of files to track for unused imports. The bool value when true means // unused imports are treated as errors (and as warnings when false). absl::flat_hash_map unused_import_track_files_; - }; diff --git a/src/google/protobuf/descriptor_unittest.cc b/src/google/protobuf/descriptor_unittest.cc index 99ce3ebc83..44c054a8f1 100644 --- a/src/google/protobuf/descriptor_unittest.cc +++ b/src/google/protobuf/descriptor_unittest.cc @@ -45,7 +45,6 @@ #include "absl/container/btree_set.h" #include "absl/container/flat_hash_set.h" #include "absl/strings/str_format.h" -#include "absl/strings/string_view.h" #include "google/protobuf/unittest.pb.h" #include "google/protobuf/unittest_custom_options.pb.h" #include "google/protobuf/stubs/common.h" @@ -3934,7 +3933,6 @@ class ValidationErrorTest : public testing::Test { return GOOGLE_CHECK_NOTNULL(pool_.BuildFile(file_proto)); } - // Parse file_text as a FileDescriptorProto in text format and add it // to the DescriptorPool. Expect errors to be produced which match the // given error text. @@ -7080,7 +7078,6 @@ TEST_F(ValidationErrorTest, UnusedImportWithOtherError) { } - TEST_F(ValidationErrorTest, PackageTooLong) { BuildFileWithErrors( "name: \"foo.proto\" " diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc index 57efc9147f..fa4416b4a2 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -221,10 +221,6 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and // Owner: mkruskal@ #define PROTOBUF_FUTURE_REMOVE_CLEARED_API 1 -// Used for descriptor proto extension declarations. -// Owner: shaod@, gberg@ -#define PROTOBUF_FUTURE_DESCRIPTOR_EXTENSION_DECL 1 - #else #define PROTOBUF_FUTURE_FINAL #endif diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc index 6e93c8f01b..57881169be 100644 --- a/src/google/protobuf/port_undef.inc +++ b/src/google/protobuf/port_undef.inc @@ -121,7 +121,6 @@ #undef PROTOBUF_FUTURE_MAP_PAIR_UPGRADE #undef PROTOBUF_FUTURE_REMOVE_DEFAULT_FIELD_COMPARATOR #undef PROTOBUF_FUTURE_REMOVE_CLEARED_API -#undef PROTOBUF_FUTURE_DESCRIPTOR_EXTENSION_DECL #endif #undef PROTOBUF_FUTURE_FINAL