On Tue Mar 27 05:32:41 2007, doughera wrote: > On Mon, 26 Mar 2007, Steve Peters wrote: > > > # New Ticket Created by Steve Peters > > # Please include the string: [perl #42110] > > # in the subject line of all future correspondence about this issue. > > # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=42110 > > > > > > > A couple of functions in XX are trying to return values from void > functions. > > To some compilers, such as the standard HP-UX compilers, this is a > big > > no-no. The patch below fixes this problem. > > Yes. I sent in this same patch last week. I didn't send it to RT > since I > thought it was so obvious that someone would apply it right away and > I'd > spare that same someone the nuisance of closing the RT ticket. My > mistake. I shouldn't have assumed. > > Anyway, it's worth noting that although one of functions actually > doesn't > return anything, it is documented as returning a PMC *. So either the > documentation or the function is wrong in parrotobject.pmc and should > be > fixed.
Unfortunately, I can't find a gcc warning flag that would seem to catch this sort of situation either. > > > > > Steve Peters > > [EMAIL PROTECTED] > > > > Index: src/pmc/parrotobject.pmc > > ========================================================= ========== > > --- src/pmc/parrotobject.pmc (revision 17781) > > +++ src/pmc/parrotobject.pmc (working copy) > > @@ -207,8 +207,10 @@ > > PMC *sub = Parrot_find_vtable_meth(interp, SELF, meth_v); > > if (PMC_IS_NULL(sub)) > > sub = find_meth(interp, SELF, meth); > > - if (PMC_IS_NULL(sub)) > > - return Parrot_set_attrib_by_num(INTERP, SELF, idx, > value); > > + if (PMC_IS_NULL(sub)) { > > + Parrot_set_attrib_by_num(INTERP, SELF, idx, value); > > + return; > > + } > > (PMC*) Parrot_run_meth_fromc_args(interp, sub, > > SELF, meth, "vIP", idx, value); > > } > > @@ -219,8 +221,10 @@ > > PMC *sub = Parrot_find_vtable_meth(interp, SELF, meth_v); > > if (PMC_IS_NULL(sub)) > > sub = find_meth(interp, SELF, meth); > > - if (PMC_IS_NULL(sub)) > > - return Parrot_set_attrib_by_str(INTERP, SELF, idx, > value); > > + if (PMC_IS_NULL(sub)) { > > + Parrot_set_attrib_by_str(INTERP, SELF, idx, value); > > + return; > > + } > > (PMC*) Parrot_run_meth_fromc_args(interp, sub, > > SELF, meth, "vSP", idx, value); > > } > > >