I've applied the classes/intqueue.pmc patch. The other needs adjustment. FWIW, your change doesn't cure the errors on TCC:
"string.c", line 51: Error: [ISO 6.3.16.1]: Conversion casts away 'const'-ness. [ISO 6.3.16]: Can't perform this conversion by assignment. "string.c", line 55: Error: [ISO 6.3.16.1]: Conversion casts away 'const'-ness. [ISO 6.3.16]: Can't perform this conversion by assignment. --Josh At 17:32 on 03/21/2002 EST, Michel J Lambert <[EMAIL PROTECTED]> wrote: > > We take in const params, and set them into non-const members of STRING: > string.c(51) : warning C4090: '=' : different 'const' qualifiers > string.c(55) : warning C4090: '=' : different 'const' qualifiers > > Due to MAKE_KEY in set_keyed setting keys[0] on an uninitialized pointer. > But I hear this isn't supposed to work anyway. The patch below comments > the code out. > c:\p\parrot\core.ops(574) : warning C4700: local variable 'src_key' used > without having been initialized > c:\p\parrot\core.ops(575) : warning C4700: local variable 'dest_key' used > without having been initialized > > IntQueue can miscalculate the length: > c:\p\parrot\classes\intqueue.c(84) : warning C4700: local variable > 'length' used without having been initialized > > Patch to remove MAKE_KEY and IntQueue warnings is below. > > Mike Lambert > > > > Index: core.ops > =================================================================== > RCS file: /cvs/public/parrot/core.ops,v > retrieving revision 1.111 > diff -u -r1.111 core.ops > --- core.ops 21 Mar 2002 22:01:50 -0000 1.111 > +++ core.ops 21 Mar 2002 22:30:03 -0000 > @@ -567,14 +567,14 @@ > =cut > > inline op set_keyed (out PMC, in PMC, in PMC, in PMC) { > - KEY_PAIR src_key_p, dest_key_p; > - KEY src_key, dest_key; > +// KEY_PAIR src_key_p, dest_key_p; > +// KEY src_key, dest_key; > > - MAKE_KEY(src_key, src_key_p, $2, enum_key_pmc, pmc_val); > - MAKE_KEY(dest_key, dest_key_p, $4, enum_key_pmc, pmc_val); > +// MAKE_KEY(src_key, src_key_p, $2, enum_key_pmc, pmc_val); > +// MAKE_KEY(dest_key, dest_key_p, $4, enum_key_pmc, pmc_val); > > - $1->vtable->set_pmc_keyed(interpreter, > - $1, $2 ? &src_key : NULL, $3, $4 ? &dest_key : NULL); > +// $1->vtable->set_pmc_keyed(interpreter, > +// $1, $2 ? &src_key : NULL, $3, $4 ? &dest_key : > NULL); > goto NEXT(); > } > > Index: classes/intqueue.pmc > =================================================================== > RCS file: /cvs/public/parrot/classes/intqueue.pmc,v > retrieving revision 1.6 > diff -u -r1.6 intqueue.pmc > --- classes/intqueue.pmc 10 Mar 2002 21:18:13 -0000 1.6 > +++ classes/intqueue.pmc 21 Mar 2002 22:30:04 -0000 > @@ -68,7 +68,7 @@ > } > > static INTVAL queue_length ( CONTAINER* container ) { > - INTVAL length; > + INTVAL length = 0; > if(container->head != NULL) { > BUCKET* head = container->head; > while(head != NULL) { > >