<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-&gt;__pyx_vtab)-&gt;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-&gt;context));</DIV><DIV><FONT class="Apple-style-span" size="4"><SPAN class="Apple-style-span" style="font-size: 14px;"><B>    ((PyObject *)__pyx_v_res-&gt;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>