summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch
blob: 89315e3a7df0bc00b3b84b8399fc2d6c01241051 (plain)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
From 8ce4b50b210d3c0f8de40156d4ba7827bfe16b21 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 16 Aug 2023 17:36:19 -0700
Subject: [PATCH] message.c: Cast uintptr_t types to upb_MessageDef

This fixes build with clang

python/message.c:1238:49: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion]
 1238 |                        upb_MessageDef_MiniTable(other->def),
      |                                                 ^~~~~~~~~~
/mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/python3-protobuf/4.24.0/protobuf-4.24.0/upb/reflection/message_def.h:138:69: note: passing argument to parameter 'm' here
  138 | const upb_MiniTable* upb_MessageDef_MiniTable(const upb_MessageDef* m);
      |                                                                     ^
python/message.c:1609:69: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion]
 1609 |       upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable(self->def),
      |                                                                     ^~~~~~~~~
/mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/python3-protobuf/4.24.0/protobuf-4.24.0/upb/reflection/message_def.h:138:69: note: passing argument to parameter 'm' here
  138 | const upb_MiniTable* upb_MessageDef_MiniTable(const upb_MessageDef* m);
      |                                                                     ^
python/message.c:1611:44: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion]
 1611 |   PyObject* ret = PyUpb_Message_Get(clone, self->def, arena);
      |                                            ^~~~~~~~~

Upstream-Status: Submitted [https://github.com/protocolbuffers/upb/pull/1492]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 python/message.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/python/message.c b/python/message.c
index a01ce16..c418b84 100644
--- a/python/message.c
+++ b/python/message.c
@@ -1235,7 +1235,7 @@ static PyObject* PyUpb_Message_CopyFrom(PyObject* _self, PyObject* arg) {
   Py_DECREF(tmp);
 
   upb_Message_DeepCopy(self->ptr.msg, other->ptr.msg,
-                       upb_MessageDef_MiniTable(other->def),
+                       upb_MessageDef_MiniTable((const upb_MessageDef*)other->def),
                        PyUpb_Arena_Get(self->arena));
   PyUpb_Message_SyncSubobjs(self);
 
@@ -1606,9 +1606,9 @@ PyObject* DeepCopy(PyObject* _self, PyObject* arg) {
 
   PyObject* arena = PyUpb_Arena_New();
   upb_Message* clone =
-      upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable(self->def),
+      upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable((const upb_MessageDef*)self->def),
                             PyUpb_Arena_Get(arena));
-  PyObject* ret = PyUpb_Message_Get(clone, self->def, arena);
+  PyObject* ret = PyUpb_Message_Get(clone, (const upb_MessageDef*)self->def, arena);
   Py_DECREF(arena);
 
   return ret;
-- 
2.41.0