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) {


Reply via email to