<div dir="ltr"><div><div>Hi,<br><br></div>Based on 4.19.4.dev1708081632, I see some issues with the emitted code involving casts. There are several cases, but here is one example that illustrates the issue:<br><br></div>===  4.19.4.dev1708081632 output ===<br><div>static void assign_std_auto_ptr_0100GpgME_EditInteractor(void *sipDst, SIP_SSIZE_T sipDstIdx, const void *sipSrc)<br>{<br>    reinterpret_cast< ::std::auto_ptr< ::GpgME::EditInteractor> *>(sipDst)[sipDstIdx] = *reinterpret_cast<const ::std::auto_ptr< ::GpgME::EditInteractor> *>(sipSrc);<br>}<br>==============================<br><br></div><div>The above won't compile with errors boiling down, IIUC, to the fact that the RHS has type "const something", and this is not compatible with the LHS which has type "something" without the const. Now, I'll confess that I'm a bit rusty on some of this, but I think the correct fix is to cast away the constness of sipSrc earlier, like this:<br></div><div><br></div><div>=== patched version ===<br></div><div>static void assign_std_auto_ptr_0100GpgME_EditInteractor(void *sipDst, SIP_SSIZE_T sipDstIdx, const void *sipSrc)<br>{<br>    reinterpret_cast< ::std::auto_ptr< ::GpgME::EditInteractor> *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::std::auto_ptr< ::GpgME::EditInteractor> *>(const_cast<void *>(sipSrc));<br>}<br>===================<br><br></div><div>Now, the LHS and the RHS match, and the compiler is happy. There are 4 similar cases in gencode.c which I patched, as below. This patch also includes my diffs for the static_cast<int>s from <a href="https://www.riverbankcomputing.com/pipermail/pyqt/2017-August/039494.html">https://www.riverbankcomputing.com/pipermail/pyqt/2017-August/039494.html</a>.<br><br></div><div>(There is also one slightly different usage of reinterpret_cast<const ...> but I am not sure if that is implicated or not).<br><br></div><div>Please consider applying.<br><br></div><div>Thanks, Shaheed<br></div><div><br></div></div>