On Mon, Mar 10, 2008 at 5:04 PM, chromatic <[EMAIL PROTECTED]> wrote: > On Monday 10 March 2008 13:51:40 Will Coleda wrote: > > > On Mon, Mar 10, 2008 at 4:33 PM, chromatic <[EMAIL PROTECTED]> wrote: > > > > On Monday 10 March 2008 13:19:59 Will Coleda wrote: > > > > > > Also, if you're not careful, pmc2c.pl tries to rewrite > > > > Parrot_PCCINVOKE too, not just PCCINVOKE. (I used a more verbose style > > > > than I would have otherwise to avoid this.) > > > > That should be fixable; can you give me an example? > > > Sure. > > // The invalid: > > Parrot_PCCINVOKE(INTERP, P0, "replace", "SS->", orig, repl); > > // Or the valid: > > STRING *method = string_from_literal(INTERP, "\\\\"); > > Parrot_PCCINVOKE(INTERP, P0, method, "SS->", orig, repl); > > Oh, that's easy. string_from_literal() returns a STRING *, while "replace" > is > a char *. That has nothing to do with pmc2c.pl. It's just C being > uncharacteristically helpful about a type mismatch. > > -- c > >
I know "replace" is invalid (that's why I marked it with a comment). That doesn't stop pmc2c.pl from trying to convert that invocation of Parrot_PCCINVOKE when it shouldn't. That is, I'd rather that gave me the C error than the pmc2c.pl error. =-) -- Will "Coke" Coleda