| 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 |
| |