In message <[EMAIL PROTECTED]>
          Simon Cozens <[EMAIL PROTECTED]> wrote:

> So, if you're running on one of the core platforms, please check out a
> *clean* CVS copy, try and build and post the output of make test.

Tests cleanly on linux/x86:

perl t/harness
t/op/basic......ok, 1/2 skipped:  label constants unimplemented in assembler
t/op/integer....ok
t/op/number.....ok, 2/23 skipped: various reasons
t/op/string.....ok, 1/5 skipped:  I'm unable to write it!
t/op/trans......ok
All tests successful, 4 subtests skipped.
Files=5, Tests=74, 45 wallclock secs (38.60 cusr +  6.28 csys = 44.88 CPU)

Builds cleanly with -Wall with the exception of these warnings
in packfile.c:

packfile.c:964:3: warning: "/*" within comment
packfile.c:967:3: warning: "/*" within comment
packfile.c: In function `PackFile_unpack':
packfile.c:323: warning: int format, IV arg (arg 3)
packfile.c:344: warning: int format, IV arg (arg 3)
packfile.c:287: warning: unused variable `byte_code_ptr'
packfile.c:285: warning: unused variable `segment_ptr'
packfile.c: In function `PackFile_dump':
packfile.c:461: warning: unsigned int format, long unsigned int arg (arg 2)
packfile.c:474: warning: unsigned int format, long unsigned int arg (arg 2)
packfile.c:476: warning: unsigned int format, long unsigned int arg (arg 2)
packfile.c: In function `PackFile_ConstTable_dump':
packfile.c:938: warning: int format, IV arg (arg 2)
packfile.c: In function `PackFile_Constant_unpack':
packfile.c:1233: warning: unused variable `i'
packfile.c: In function `PackFile_Constant_dump':
packfile.c:1358: warning: unsigned int format, long unsigned int arg (arg 2)

The attached patch will clean up those warnings.

Tom

-- 
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
Index: packfile.c
===================================================================
RCS file: /home/perlcvs/parrot/packfile.c,v
retrieving revision 1.4
diff -u -r1.4 packfile.c
--- packfile.c  2001/09/20 21:41:40     1.4
+++ packfile.c  2001/09/20 22:41:46
@@ -180,7 +180,7 @@

 ***************************************/

-void
+void
 PackFile_set_magic(PackFile * self, IV magic) {
     self->magic = magic;
 }
@@ -282,9 +282,7 @@

 IV
 PackFile_unpack(PackFile * self, char * packed, IV packed_size) {
-    IV *   segment_ptr;
     IV     segment_size;
-    char * byte_code_ptr;
     char * cursor;
     IV *   iv_ptr;

@@ -317,9 +315,9 @@
     iv_ptr = (IV *)cursor;
     segment_size = *iv_ptr;
     cursor += sizeof(IV);
-
+
     if (segment_size % sizeof(IV)) {
-        fprintf(stderr, "PackFile_unpack: Illegal fixup table segment size %d (must 
be multiple of %d!\n",
+        fprintf(stderr, "PackFile_unpack: Illegal fixup table segment size %ld (must 
+be multiple of %d!\n",
             segment_size, sizeof(IV));
         return 0;
     }
@@ -338,13 +336,13 @@
     iv_ptr = (IV *)cursor;
     segment_size = *iv_ptr;
     cursor += sizeof(IV);
-
+
     if (segment_size % sizeof(IV)) {
-        fprintf(stderr, "PackFile_unpack: Illegal constant table segment size %d 
(must be multiple of %d!\n",
+        fprintf(stderr, "PackFile_unpack: Illegal constant table segment size %ld 
+(must be multiple of %d!\n",
             segment_size, sizeof(IV));
         return 0;
     }
-
+
     if (!PackFile_ConstTable_unpack(self->const_table, cursor, segment_size)) {
         fprintf(stderr, "PackFile_unpack: Error reading constant table segment!\n");
         return 0;
@@ -366,7 +364,7 @@
             self->byte_code_size = 0;
             return 0;
         }
-
+
         mem_sys_memcopy(self->byte_code, cursor, self->byte_code_size);
     }

@@ -432,7 +430,7 @@
     iv_ptr = (IV *)cursor;
     *iv_ptr = const_table_size;
     cursor += sizeof(IV);
-
+
     PackFile_ConstTable_pack(self->const_table, cursor);
     cursor += const_table_size;

@@ -458,7 +456,7 @@
 PackFile_dump(PackFile * self) {
     IV i;

-    printf("MAGIC => 0x%08x,\n", self->magic);
+    printf("MAGIC => 0x%08lx,\n", self->magic);

     printf("FIXUP => {\n");
     PackFile_FixupTable_dump(self->fixup_table);
@@ -471,9 +469,9 @@
     printf("BCODE => [");
     for (i = 0; i < self->byte_code_size / 4; i++) {
         if (i % 8 == 0) {
-            printf("\n    %08x:  ", i * 4);
+            printf("\n    %08lx:  ", i * 4);
         }
-        printf("%08x ", ((IV *)(self->byte_code))[i]);
+        printf("%08lx ", ((IV *)(self->byte_code))[i]);
     }
     printf("\n]\n");

@@ -837,7 +835,7 @@
     iv_ptr = (IV *)cursor;
     self->const_count = *iv_ptr;
     cursor += sizeof(IV);
-
+
     if (self->const_count == 0) {
         return 1;
     }
@@ -857,7 +855,7 @@

         cursor += PackFile_Constant_pack_size(self->constants[i]);
     }
-
+
     return 1;
 }

@@ -915,7 +913,7 @@

         cursor += PackFile_Constant_pack_size(self->constants[i]);
     }
-
+
     return;
 }

@@ -935,10 +933,10 @@
     IV     i;

     for(i = 0; i < self->const_count; i++) {
-        printf("    # %d:\n", i);
+        printf("    # %ld:\n", i);
         PackFile_Constant_dump(self->constants[i]);
     }
-
+
     return;
 }

@@ -961,7 +959,7 @@

 =cut

-/******************************************************************************
+******************************************************************************/


 /***************************************
@@ -1230,7 +1228,6 @@
 PackFile_Constant_unpack(PackFile_Constant * self, char * packed, IV packed_size) {
     char * cursor;
     IV *   iv_ptr;
-    IV    i;

     cursor  = packed;

@@ -1355,7 +1352,7 @@
 PackFile_Constant_dump(PackFile_Constant * self) {

     printf("    {\n");
-    printf("        FLAGS    => %04x,\n", self->flags);
+    printf("        FLAGS    => %04lx,\n", self->flags);
     printf("        ENCODING => %ld,\n",  self->encoding);
     printf("        TYPE     => %ld,\n",  self->type);
     printf("        SIZE     => %ld,\n",  self->size);

Reply via email to