<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">Hi all,<DIV><BR class="khtml-block-placeholder"></DIV><DIV>Coming back to this project after about 6 month's absence. This method is within an rdbms_decimalcontext object:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> cdef rdbms_decimal setres(self, rdbms_decimal res):</DIV><DIV> cdef rdbms_decimal r</DIV><DIV> if res is None:</DIV><DIV> r = self.pyx_create_decimal()</DIV><DIV> else:</DIV><DIV> res.context = self</DIV><DIV> r = res</DIV><DIV> return r</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>This generates the following C code:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>static struct __pyx_obj_8decimals_rdbms_decimal *__pyx_f_8decimals_20rdbms_decimalcontext_setres(struct __pyx_obj_8decimals_rdbms_decimalcontext *__pyx_v_self,struct __pyx_obj_8decimals_rdbms_decimal *__pyx_v_res) {</DIV><DIV> struct __pyx_obj_8decimals_rdbms_decimal *__pyx_v_r;</DIV><DIV> struct __pyx_obj_8decimals_rdbms_decimal *__pyx_r;</DIV><DIV> int __pyx_1;</DIV><DIV> PyObject *__pyx_2 = 0;</DIV><DIV> Py_INCREF(__pyx_v_self);</DIV><DIV> Py_INCREF(__pyx_v_res);</DIV><DIV> __pyx_v_r = (void *)Py_None; Py_INCREF((PyObject *) __pyx_v_r);</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> /* "/Users/Shared/py_decNumber/decimals.pyx":166 */</DIV><DIV> __pyx_1 = ((PyObject *)__pyx_v_res) == Py_None;</DIV><DIV> if (__pyx_1) {</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> /* "/Users/Shared/py_decNumber/decimals.pyx":167 */</DIV><DIV> __pyx_2 = ((PyObject *)((struct __pyx_vtabstruct_8decimals_rdbms_decimalcontext *)__pyx_v_self->__pyx_vtab)->pyx_create_decimal(__pyx_v_self)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; goto __pyx_L1;}</DIV><DIV> Py_DECREF(((PyObject *)__pyx_v_r));</DIV><DIV><FONT class="Apple-style-span" size="4"><SPAN class="Apple-style-span" style="font-size: 14px;"><B> __pyx_v_r = __pyx_2;</B></SPAN></FONT></DIV><DIV> __pyx_2 = 0;</DIV><DIV> goto __pyx_L2;</DIV><DIV> }</DIV><DIV> /*else*/ {</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> /* "/Users/Shared/py_decNumber/decimals.pyx":169 */</DIV><DIV> Py_INCREF(((PyObject *)__pyx_v_self));</DIV><DIV> Py_DECREF(((PyObject *)__pyx_v_res->context));</DIV><DIV><FONT class="Apple-style-span" size="4"><SPAN class="Apple-style-span" style="font-size: 14px;"><B> ((PyObject *)__pyx_v_res->context) = ((PyObject *)__pyx_v_self);</B></SPAN></FONT></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> /* "/Users/Shared/py_decNumber/decimals.pyx":170 */</DIV><DIV> Py_INCREF(((PyObject *)__pyx_v_res));</DIV><DIV> Py_DECREF(((PyObject *)__pyx_v_r));</DIV><DIV><FONT class="Apple-style-span" size="4"><SPAN class="Apple-style-span" style="font-size: 14px;"><B> __pyx_v_r = ((PyObject *)__pyx_v_res);</B></SPAN></FONT></DIV><DIV> }</DIV><DIV> __pyx_L2:;</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> /* "/Users/Shared/py_decNumber/decimals.pyx":171 */</DIV><DIV> Py_INCREF(((PyObject *)__pyx_v_r));</DIV><DIV> __pyx_r = (struct __pyx_obj_8decimals_rdbms_decimal *)((PyObject *)__pyx_v_r);</DIV><DIV> goto __pyx_L0;</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> __pyx_r = (void *)Py_None; Py_INCREF((PyObject *) __pyx_r);</DIV><DIV> goto __pyx_L0;</DIV><DIV> __pyx_L1:;</DIV><DIV> Py_XDECREF(__pyx_2);</DIV><DIV> __Pyx_AddTraceback("decimals.rdbms_decimalcontext.setres");</DIV><DIV> __pyx_r = 0;</DIV><DIV> __pyx_L0:;</DIV><DIV> Py_DECREF(__pyx_v_r);</DIV><DIV> Py_DECREF(__pyx_v_self);</DIV><DIV> Py_DECREF(__pyx_v_res);</DIV><DIV> return ((struct __pyx_obj_8decimals_rdbms_decimal *)__pyx_r) ;</DIV><DIV>}</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Generates the following warnings:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>decimals.c: In function '__pyx_f_8decimals_20rdbms_decimalcontext_setres':</DIV><DIV>decimals.c:530: warning: assignment from incompatible pointer type</DIV><DIV>decimals.c:539: warning: target of assignment not really an lvalue; this will be a hard error in the future</DIV><DIV>decimals.c:544: warning: assignment from incompatible pointer type</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>I've bolded the statements that correspond to warnings. Are these warnings common, or even a problem? Is the lvalue warning fixed in pyrex 0.9.4.1? If so, any idea when the DarwinPorts maintainer might get the update out?</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Thanx,</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Brian</DIV><DIV><BR class="khtml-block-placeholder"></DIV></BODY></HTML>