Skip to content
This repository was archived by the owner on Dec 9, 2025. It is now read-only.

Commit 3dffa71

Browse files
krajAdam Cozzette
andauthored
message.c: Cast uintptr_t types to upb_MessageDef (#1492)
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); | ^~~~~~~~~ Co-authored-by: Adam Cozzette <acozzette@google.com>
1 parent af17da5 commit 3dffa71

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

python/message.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,7 +1240,7 @@ static PyObject* PyUpb_Message_CopyFrom(PyObject* _self, PyObject* arg) {
12401240
const upb_Message* other_msg = PyUpb_Message_GetIfReified((PyObject*)other);
12411241
if (other_msg) {
12421242
upb_Message_DeepCopy(self->ptr.msg, other_msg,
1243-
upb_MessageDef_MiniTable(other->def),
1243+
upb_MessageDef_MiniTable((const upb_MessageDef*)other->def),
12441244
PyUpb_Arena_Get(self->arena));
12451245
} else {
12461246
PyObject* tmp = PyUpb_Message_Clear(self);
@@ -1615,9 +1615,9 @@ PyObject* DeepCopy(PyObject* _self, PyObject* arg) {
16151615

16161616
PyObject* arena = PyUpb_Arena_New();
16171617
upb_Message* clone =
1618-
upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable(self->def),
1618+
upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable((const upb_MessageDef*)self->def),
16191619
PyUpb_Arena_Get(arena));
1620-
PyObject* ret = PyUpb_Message_Get(clone, self->def, arena);
1620+
PyObject* ret = PyUpb_Message_Get(clone, (const upb_MessageDef*)self->def, arena);
16211621
Py_DECREF(arena);
16221622

16231623
return ret;

0 commit comments

Comments
 (0)