Incremental migration of message.cc to Emit PiperOrigin-RevId: 531271824
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 812ecc7..d88f2d0 100644 --- a/src/google/protobuf/compiler/cpp/field_generators/enum_field.cc +++ b/src/google/protobuf/compiler/cpp/field_generators/enum_field.cc
@@ -158,7 +158,7 @@ void GenerateCopyAggregateInitializer(io::Printer* p) const override { p->Emit(R"cc( - decltype($field_$) {} + decltype($field_$){}, )cc"); } @@ -307,11 +307,12 @@ void GenerateCopyAggregateInitializer(io::Printer* p) const override { p->Emit(R"cc( - decltype($field_$) { from._internal_$name$() })cc"); + decltype($field_$){from._internal_$name$()}, + )cc"); if (has_cached_size_) { // std::atomic has no copy constructor. p->Emit(R"cc( - , /*decltype($cached_size_$)*/ { 0 } + /*decltype($cached_size_$)*/ {0}, )cc"); } }
diff --git a/src/google/protobuf/compiler/cpp/field_generators/map_field.cc b/src/google/protobuf/compiler/cpp/field_generators/map_field.cc index 064c5b1..26b3d9b 100644 --- a/src/google/protobuf/compiler/cpp/field_generators/map_field.cc +++ b/src/google/protobuf/compiler/cpp/field_generators/map_field.cc
@@ -135,7 +135,9 @@ void GenerateCopyAggregateInitializer(io::Printer* p) const override { // MapField has no move constructor, which prevents explicit aggregate // initialization pre-C++17. - p->Emit(R"cc(/* decltype($field_$) */ {})cc"); + p->Emit(R"cc( + /* decltype($field_$) */ {}, + )cc"); } void GenerateAggregateInitializer(io::Printer* p) const override {
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 e1a2721..d0e279c 100644 --- a/src/google/protobuf/compiler/cpp/field_generators/message_field.cc +++ b/src/google/protobuf/compiler/cpp/field_generators/message_field.cc
@@ -507,7 +507,9 @@ } void SingularMessage::GenerateCopyAggregateInitializer(io::Printer* p) const { - p->Emit("decltype($field_$){nullptr}"); + p->Emit(R"cc( + decltype($field_$){nullptr}, + )cc"); } void SingularMessage::GenerateAggregateInitializer(io::Printer* p) const {
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 7234108..66d138b 100644 --- a/src/google/protobuf/compiler/cpp/field_generators/primitive_field.cc +++ b/src/google/protobuf/compiler/cpp/field_generators/primitive_field.cc
@@ -179,7 +179,7 @@ void GenerateCopyAggregateInitializer(io::Printer* p) const override { p->Emit(R"cc( - decltype($field_$) {} + decltype($field_$){}, )cc"); } @@ -359,15 +359,9 @@ void GenerateCopyAggregateInitializer(io::Printer* p) const override { ABSL_CHECK(!ShouldSplit(descriptor_, options_)); p->Emit(R"cc( - decltype($field_$) { from.$field_$ } + decltype($field_$){from.$field_$}, )cc"); - if (HasCachedSize()) { - // std::atomic has no move constructor, which prevents explicit aggregate - // initialization pre-C++17. - p->Emit(R"cc( - , /* $_field_cached_byte_size_$ = */ { 0 } - )cc"); - } + GenerateCacheSizeInitializer(p); } void GeneratePrivateMembers(io::Printer* p) const override;
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 127bdd6..7beea97 100644 --- a/src/google/protobuf/compiler/cpp/field_generators/string_field.cc +++ b/src/google/protobuf/compiler/cpp/field_generators/string_field.cc
@@ -148,7 +148,7 @@ void GenerateCopyAggregateInitializer(io::Printer* p) const override { p->Emit(R"cc( - decltype($field_$) {} + decltype($field_$){}, )cc"); }