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

Reply via email to