File: 0042-fix-undefined-protobuf-custom-vtable.patch

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (42 lines) | stat: -rw-r--r-- 2,206 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
diff --git a/src/google/protobuf/dynamic_message.cc b/src/google/protobuf/dynamic_message.cc
index 0d45c87a92fd9..24d5e9afcca44 100644
--- a/src/google/protobuf/dynamic_message.cc
+++ b/src/google/protobuf/dynamic_message.cc
@@ -381,7 +381,9 @@ struct DynamicMessageFactory::TypeInfo {
           &DynamicMessage::MergeImpl,
           internal::MessageCreator(),  // to be filled later
           &DynamicMessage::DestroyImpl,
+#if defined(PROTOBUF_CUSTOM_VTABLE)
           static_cast<void (MessageLite::*)()>(&DynamicMessage::ClearImpl),
+#endif  // PROTOBUF_CUSTOM_VTABLE
           DynamicMessage::ByteSizeLongImpl,
           DynamicMessage::_InternalSerializeImpl,
           PROTOBUF_FIELD_OFFSET(DynamicMessage, cached_byte_size_),
diff --git a/src/google/protobuf/implicit_weak_message.cc b/src/google/protobuf/implicit_weak_message.cc
index d53daf64780e6..9d74777043389 100644
--- a/src/google/protobuf/implicit_weak_message.cc
+++ b/src/google/protobuf/implicit_weak_message.cc
@@ -73,7 +73,9 @@ constexpr ClassDataLite<1> ImplicitWeakMessage::class_data_ = {
                                  sizeof(ImplicitWeakMessage),
                                  alignof(ImplicitWeakMessage)),
         &DestroyImpl,
+#if defined(PROTOBUF_CUSTOM_VTABLE)
         GetClearImpl<ImplicitWeakMessage>(),
+#endif  // PROTOBUF_CUSTOM_VTABLE
         &ByteSizeLongImpl,
         &_InternalSerializeImpl,
         PROTOBUF_FIELD_OFFSET(ImplicitWeakMessage, cached_size_),
diff --git a/src/google/protobuf/message_lite.h b/src/google/protobuf/message_lite.h
index a5d51a5e08950..cc0bbfd2b757e 100644
--- a/src/google/protobuf/message_lite.h
+++ b/src/google/protobuf/message_lite.h
@@ -403,7 +403,9 @@ struct PROTOBUF_EXPORT ClassData {
       void (*merge_to_from)(MessageLite& to, const MessageLite& from_msg),
       internal::MessageCreator message_creator,
       void (*destroy_message)(MessageLite& msg),  //
+#if defined(PROTOBUF_CUSTOM_VTABLE)
       void (MessageLite::*clear)(),
+#endif  // PROTOBUF_CUSTOM_VTABLE
       size_t (*byte_size_long)(const MessageLite&),
       uint8_t* (*serialize)(const MessageLite& msg, uint8_t* ptr,
                             io::EpsCopyOutputStream* stream),