This gets it very close to building on tcc, with just key.c causing 
problems due to some KEY_PAIR* / KEY_PAIR** mixups.  My brain can't quite 
wrap around what's going on there :)

This patch fixes a few places where duplicate variable names and invalid 
return values were occurring in the pmc's.

--Josh

Index: embed.c
===================================================================
RCS file: /home/perlcvs/parrot/embed.c,v
retrieving revision 1.10
diff -u -r1.10 embed.c
--- embed.c     15 Feb 2002 02:30:02 -0000      1.10
+++ embed.c     15 Feb 2002 03:46:36 -0000
@@ -129,7 +129,7 @@
 
     pf = PackFile_new();
 
-    if(!PackFile_unpack(interpreter, pf, program_code, (unsigned)program_size)
 ) {
+    if(!PackFile_unpack(interpreter, pf, (opcode_t*)program_code, (unsigned)pr
ogram_size) ) {
         fprintf(stderr, "Parrot VM: Can't unpack packfile %s.\n", filename);
         return NULL;
     }
Index: key.c
===================================================================
RCS file: /home/perlcvs/parrot/key.c,v
retrieving revision 1.19
diff -u -r1.19 key.c
--- key.c       11 Feb 2002 17:59:11 -0000      1.19
+++ key.c       15 Feb 2002 03:46:36 -0000
@@ -121,7 +121,7 @@
   UNUSED (interpreter);
 
   key->size = 0;
-  key->keys = 0;
+  key->keys = NULL;
 
   return key;
 }
Index: pdump.c
===================================================================
RCS file: /home/perlcvs/parrot/pdump.c,v
retrieving revision 1.8
diff -u -r1.8 pdump.c
--- pdump.c     1 Jan 2002 19:49:11 -0000       1.8
+++ pdump.c     15 Feb 2002 03:46:36 -0000
@@ -62,7 +62,7 @@
 
     pf = PackFile_new();
 
-    if (!PackFile_unpack(interpreter, pf, packed, packed_size)) {
+    if (!PackFile_unpack(interpreter, pf, (opcode_t*)packed, packed_size)) {
         printf( "Can't unpack.\n" );
         return 1;
     }
Index: classes/array.pmc
===================================================================
RCS file: /home/perlcvs/parrot/classes/array.pmc,v
retrieving revision 1.12
diff -u -r1.12 array.pmc
--- classes/array.pmc   14 Feb 2002 23:17:21 -0000      1.12
+++ classes/array.pmc   15 Feb 2002 03:46:37 -0000
@@ -189,7 +189,7 @@
         PMC* mypmc;
 
         if (!key) {
-            return 0;
+            return;
         }
 
         kp = (key->keys)[0];
@@ -226,7 +226,7 @@
         PMC* mypmc;
 
         if (!key) {
-            return 0;
+            return;
         }
 
         kp = (key->keys)[0];
@@ -261,7 +261,7 @@
         PMC* mypmc;
 
         if (!key) {
-            return 0;
+            return;
         }
 
         kp = (key->keys)[0];
Index: classes/perlarray.pmc
===================================================================
RCS file: /home/perlcvs/parrot/classes/perlarray.pmc,v
retrieving revision 1.16
diff -u -r1.16 perlarray.pmc
--- classes/perlarray.pmc       14 Feb 2002 23:17:21 -0000      1.16
+++ classes/perlarray.pmc       15 Feb 2002 03:46:37 -0000
@@ -178,10 +178,10 @@
     void set_integer_keyed (KEY * key, INTVAL value) {
         KEY_PAIR* kp;
         INTVAL ix;
-        PMC* pmc;
+        PMC* pmc2;
 
         if (!key) {
-            return 0;
+            return;
         }
 
         kp = (key->keys)[0];
@@ -194,8 +194,8 @@
             ix += SELF->cache.int_val;
         }
 
-        pmc = ((PMC**)(SELF->data))[ix];
-        pmc->vtable->set_integer_native(INTERP, pmc, value);
+        pmc2 = ((PMC**)(SELF->data))[ix];
+        pmc2->vtable->set_integer_native(INTERP, pmc2, value);
     }
 
     void set_number (PMC * value) {
@@ -218,10 +218,10 @@
     void set_number_keyed (KEY * key, FLOATVAL value) {
         KEY_PAIR* kp;
         INTVAL ix;
-        PMC* pmc;
+        PMC* pmc2;
 
         if (!key) {
-            return 0;
+            return;
         }
 
         kp = (key->keys)[0];
@@ -234,8 +234,8 @@
             ix += SELF->cache.int_val;
         }
 
-        pmc = ((PMC**)(SELF->data))[ix];
-        pmc->vtable->set_number_native(INTERP, pmc, value);
+        pmc2 = ((PMC**)(SELF->data))[ix];
+        pmc2->vtable->set_number_native(INTERP, pmc2, value);
     }
 
     void set_string (PMC * value) {
@@ -256,10 +256,10 @@
     void set_string_keyed (KEY * key, STRING * value) {
         KEY_PAIR* kp;
         INTVAL ix;
-        PMC* pmc;
+        PMC* pmc2;
 
         if (!key) {
-            return 0;
+            return;
         }
 
         kp = (key->keys)[0];
@@ -272,8 +272,8 @@
             ix += SELF->cache.int_val;
         }
 
-        pmc = ((PMC**)(SELF->data))[ix];
-        pmc->vtable->set_string_native(INTERP, pmc, value);
+        pmc2 = ((PMC**)(SELF->data))[ix];
+        pmc2->vtable->set_string_native(INTERP, pmc2, value);
     }
 
     void set_value (void* value) {
Index: classes/perlhash.pmc
===================================================================
RCS file: /home/perlcvs/parrot/classes/perlhash.pmc,v
retrieving revision 1.11
diff -u -r1.11 perlhash.pmc
--- classes/perlhash.pmc        11 Feb 2002 17:59:12 -0000      1.11
+++ classes/perlhash.pmc        15 Feb 2002 03:46:37 -0000
@@ -170,10 +170,10 @@
     void set_integer_keyed (KEY * key, INTVAL value) {
         KEY_PAIR* kp;
         INTVAL ix;
-        PMC* pmc;
+        PMC* pmc2;
 
         if (!key) {
-            return 0;
+            return;
         }
 
         kp = (key->keys)[0];
@@ -188,8 +188,8 @@
             ix += SELF->cache.int_val;
         }
 
-        pmc = ((PMC**)(SELF->data))[ix];
-        pmc->vtable->set_integer_native(INTERP, pmc, value);
+        pmc2 = ((PMC**)(SELF->data))[ix];
+        pmc2->vtable->set_integer_native(INTERP, pmc2, value);
     }
 
     void set_number (PMC * value) {
@@ -212,10 +212,10 @@
     void set_number_keyed (KEY * key, FLOATVAL value) {
         KEY_PAIR* kp;
         INTVAL ix;
-        PMC* pmc;
+        PMC* pmc2;
 
         if (!key) {
-            return 0;
+            return;
         }
 
         kp = (key->keys)[0];
@@ -230,8 +230,8 @@
             ix += SELF->cache.int_val;
         }
 
-        pmc = ((PMC**)(SELF->data))[ix];
-        pmc->vtable->set_number_native(INTERP, pmc, value);
+        pmc2 = ((PMC**)(SELF->data))[ix];
+        pmc2->vtable->set_number_native(INTERP, pmc2, value);
     }
 
     void set_string (PMC * value) {
@@ -252,7 +252,7 @@
     void set_string_keyed (KEY * key, STRING * value) {
         KEY_PAIR* kp;
         INTVAL ix;
-        PMC* pmc;
+        PMC* pmc2;
 
         if (!key) {
             return;
@@ -270,8 +270,8 @@
             ix += SELF->cache.int_val;
         }
 
-        pmc = ((PMC**)(SELF->data))[ix];
-        pmc->vtable->set_string_native(INTERP, pmc, value);
+        pmc2 = ((PMC**)(SELF->data))[ix];
+        pmc2->vtable->set_string_native(INTERP, pmc2, value);
     }
 
     void set_value (void* value) {
Index: lib/Parrot/OpTrans/CPrederef.pm
===================================================================
RCS file: /home/perlcvs/parrot/lib/Parrot/OpTrans/CPrederef.pm,v
retrieving revision 1.6
diff -u -r1.6 CPrederef.pm
--- lib/Parrot/OpTrans/CPrederef.pm     15 Feb 2002 03:25:00 -0000      1.6
+++ lib/Parrot/OpTrans/CPrederef.pm     15 Feb 2002 03:46:39 -0000
@@ -25,7 +25,7 @@
 #define REL_PC ((size_t)(cur_opcode - interpreter->prederef_code))
 #define CUR_OPCODE (((opcode_t *)interpreter->code->byte_code) + REL_PC)
 
-static inline opcode_t* prederef_to_opcode(struct Parrot_Interp* interpreter,
+static opcode_t* prederef_to_opcode(struct Parrot_Interp* interpreter,
                                            void** prederef_addr)
 {
     ssize_t offset_in_ops;
@@ -34,7 +34,7 @@
     return (opcode_t*) interpreter->code->byte_code + offset_in_ops;
 }
 
-static inline void** opcode_to_prederef(struct Parrot_Interp* interpreter,
+static void** opcode_to_prederef(struct Parrot_Interp* interpreter,
                                         opcode_t* opcode_addr)
 {
     ssize_t offset_in_ops;


-- 
Josh Wilmes  ([EMAIL PROTECTED]) | http://www.hitchhiker.org

Reply via email to