Mark Glines wrote:
On Fri, 27 Apr 2007 11:19:59 -0700
Andy Dougherty (via RT) <[EMAIL PROTECTED]> wrote:
"src/gc/dod.c", line 462: undefined symbol:
PObj_bufstart_external_FLAG

I hunted for this a bit lastnight, so I'm posting my progress.

The source lines in question are:

461         /* the real external flag */
462>>       if (PObj_bufstart_external_TEST(b))    <<
463             PObj_external_SET(b);

PObj_bufstart_external_FLAG used to be defined in
include/parrot/pobj.h, but it was removed in svn r10582:
[...]
Strange that r10582 removed the flag itself, but not the accessors
(PObj_bufstart_external_TEST and PObj_bufstart_external_SET).

And, on to the next step: Whether you remove the check for PObj_bufstart_external_TEST(b), or readd the PObj_bufstart_external_FLAG (as 1 << 31, since that's the next available flag), that error disappears, to be replaced with an error in src/gc/res_lea.c that Parrot_reallocate, Parrot_allocate, and Parrot_reallocate_string are redeclared with conflicting types, and that Parrot_allocate_zeroed is never prototyped, and STRING_ALIGNMENT is undeclared.

Looks to me like we've got a few incomplete refactors on our hands that happen to live on rarely exercised code paths. (Automated multi-platform smokes will help this.) I've started working on src/gc/res_lea.c, after removing the check for the no-longer-used flag.

Allison

Reply via email to