On Mon, Mar 10, 2008 at 1:44 PM, Will Coleda <[EMAIL PROTECTED]> wrote:
> On Mon, Mar 10, 2008 at 9:25 AM, Will Coleda <[EMAIL PROTECTED]> wrote:
> > This was mentioned on a ticket, but to add it to this thread: tcl
> > seems to work as well in this branch as it does in trunk now,
> > chromatic++.
> >
> > --
> > Will "Coke" Coleda
> >
>
> Closer inspection shows that partcl is not failing in quite the same
> way in trunk vs. branch; some things that are failing in trunk work
> here, and vice versa. I'm trying to track down the source of the
> error, but I wouldn't call it a showstopper.
The conversion of tcllist.pmc to PDD17 isn't complete: there are
currently several invocations of String's replace method which in
trunk is the old C-style METHOD but in branch, is the new PDD17 style
METHOD. I tried to replace these, for example:
- Parrot_String_nci_replace(INTERP, P0,
- string_from_literal(INTERP, "\\"),
string_from_literal(INTERP, "\\\\"));
+ STRING* orig,repl;
+ orig = string_from_literal(INTERP, "\t");
+ repl = string_from_literal(INTERP, "\\t");
+ PCCINVOKE(INTERP, P0, "replace", STRING *orig, STRING *repl)
... This generates C-code, ala:
#line 157 "./tcllist.pmc"
Parrot_PCCINVOKE(interp, P0, CONST_STRING(interp, "replace"), "SS->",
orig, repl);
#line 113 "./tcllist.pmc"
Which then dies during compilation with:
./tcllist.pmc:157: warning: implicit declaration of function 'CONST_STRING'
./tcllist.pmc:157: warning: nested extern declaration of 'CONST_STRING'
./tcllist.pmc:157: warning: passing argument 3 of 'Parrot_PCCINVOKE'
makes pointer from integer without a cast
Regards.
--
Will "Coke" Coleda