I'm no sure if i've submitted some of these before, but here goes.

Diffs against current cvs:

Index: Configure.pl
===================================================================
RCS file: /home/perlcvs/parrot/Configure.pl,v
retrieving revision 1.39
diff -u -r1.39 Configure.pl
--- Configure.pl        15 Dec 2001 01:39:40 -0000      1.39
+++ Configure.pl        20 Dec 2001 01:40:30 -0000
@@ -9,7 +9,7 @@
 use ExtUtils::Manifest qw(manicheck);
 use File::Copy;
 
-my($opt_debugging, $opt_defaults, $opt_version, $opt_help) = (0, 0, 0, 0);
+my($opt_debugging, $opt_defaults, $opt_version, $opt_help, $opt_pedantic) = (0, 0, 0, 
+0, 0);
 my(%opt_defines);
 my $result = GetOptions(
        'debugging!' => \$opt_debugging,
@@ -17,6 +17,7 @@
        'version'    => \$opt_version,
        'help'       => \$opt_help,
        'define=s'   => \%opt_defines,
+       'pedantic!'  => \$opt_pedantic,
 );
 
 if($opt_version) {
@@ -29,6 +30,7 @@
 $0 - Parrot Configure
 Options:
    --debugging          Enable debugging
+   --pedantic           Add "-ansi -pedantic" if using gcc
    --defaults           Accept all default values
    --define name=value  Defines value name as value
    --help               This text
@@ -73,9 +75,11 @@
 
        cc =>                   $Config{cc},
        #ADD C COMPILER FLAGS HERE
+        cc_inc  =>              "-I./include",
        ccflags =>              $Config{ccflags},
        libs =>                 $Config{libs},
        cc_debug =>             '-g',
+       cc_warn =>              '',
        o =>                    '.o',           # object files extension
        exe =>                  $Config{_exe},
 
@@ -99,6 +103,15 @@
        cp =>           'cp',
        slash =>        '/',
 );
+
+
+# If using gcc, crank up its warnings as much as possible and optionally
+# make it behave ansi-ish.
+if ($Config{ccname} eq "gcc") {
+   $c{cc_warn} = " -Wall";
+   $c{cc_warn} .= " -ansi -pedantic" if $opt_pedantic;
+}
+
 
 #copy the things from --define foo=bar
 @c{keys %opt_defines}=values %opt_defines;
Index: Makefile.in
===================================================================
RCS file: /home/perlcvs/parrot/Makefile.in,v
retrieving revision 1.79
diff -u -r1.79 Makefile.in
--- Makefile.in 18 Dec 2001 07:05:00 -0000      1.79
+++ Makefile.in 20 Dec 2001 01:40:30 -0000
@@ -24,7 +24,7 @@
 #DO NOT ADD C COMPILER FLAGS HERE
 #Add them in Configure.pl--look for the
 #comment 'ADD C COMPILER FLAGS HERE'
-CFLAGS = ${ccflags} ${cc_debug} -I./include
+CFLAGS = ${ccflags} ${cc_warn} ${cc_debug} ${cc_inc}
 
 C_LIBS = ${libs}
 
@@ -33,6 +33,8 @@
 PERL = ${perl}
 TEST_PROG = ${test_prog}
 PDUMP = pdump${exe}
+LINT = lclint
+LINTFLAGS = +showscan +posixlib -weak +longintegral +matchanyintegral -formattype
 # This is set to  MAKE=$make if your $make command doesn't
 # do it for you.
 ${make_set_make}
@@ -173,3 +175,6 @@
 update:
        cvs -q update -dP
 
+lint: ${test_prog}
+       $(LINT) ${cc_inc} -Iclasses $(LINTFLAGS) `echo $(O_FILES) | sed 's/\.o/\.c/g'`
+       $(LINT) ${cc_inc} $(LINTFLAGS) test_main.c
Index: packfile.c
===================================================================
RCS file: /home/perlcvs/parrot/packfile.c,v
retrieving revision 1.16
diff -u -r1.16 packfile.c
--- packfile.c  6 Dec 2001 21:22:13 -0000       1.16
+++ packfile.c  20 Dec 2001 01:40:31 -0000
@@ -333,7 +333,7 @@
 
     if (segment_size % sizeof(opcode_t)) {
         fprintf(stderr, "PackFile_unpack: Illegal fixup table segment size %d (must 
be multiple of %d)!\n",
-            segment_size, sizeof(opcode_t));
+            (int)segment_size, sizeof(opcode_t));
         return 0;
     }
 
@@ -358,7 +358,7 @@
 
     if (segment_size % sizeof(opcode_t)) {
         fprintf(stderr, "PackFile_unpack: Illegal constant table segment size %d 
(must be multiple of %d)!\n",
-            segment_size, sizeof(opcode_t));
+            (int)segment_size, sizeof(opcode_t));
         return 0;
     }
 
@@ -1718,7 +1718,8 @@
                     (long) self->string->bufused);
             /* TODO: Won't do anything reasonable for most encodings */
             printf("        DATA     => '%.*s'\n",
-                    self->string->bufused, (char *) self->string->bufstart);
+                   (int)self->string->bufused,
+                   (char *) self->string->bufstart);
             printf("    } ],\n");
             break;
 
Index: pdump.c
===================================================================
RCS file: /home/perlcvs/parrot/pdump.c,v
retrieving revision 1.6
diff -u -r1.6 pdump.c
--- pdump.c     6 Dec 2001 17:48:58 -0000       1.6
+++ pdump.c     20 Dec 2001 01:40:31 -0000
@@ -62,7 +62,10 @@
 
     pf = PackFile_new();
 
-    PackFile_unpack(interpreter, pf, packed, packed_size);
+    if (!PackFile_unpack(interpreter, pf, packed, packed_size)) {
+        printf( "Can't unpack.\n" );
+        return 1;
+    }
     PackFile_dump(pf);
     PackFile_DELETE(pf);
 
Index: register.c
===================================================================
RCS file: /home/perlcvs/parrot/register.c,v
retrieving revision 1.12
diff -u -r1.12 register.c
--- register.c  22 Oct 2001 18:02:24 -0000      1.12
+++ register.c  20 Dec 2001 01:40:31 -0000
@@ -311,7 +311,7 @@
 Parrot_clear_n(struct Parrot_Interp *interpreter) {
     int i;
     for (i=0; i<NUM_REGISTERS; i++) {
-        interpreter->num_reg->registers[i] = 0;
+        interpreter->num_reg->registers[i] = 0.0;
     }
 }
 
Index: string.c
===================================================================
RCS file: /home/perlcvs/parrot/string.c,v
retrieving revision 1.24
diff -u -r1.24 string.c
--- string.c    13 Dec 2001 16:21:55 -0000      1.24
+++ string.c    20 Dec 2001 01:40:31 -0000
@@ -47,7 +47,7 @@
     s->encoding = encoding;
     s->buflen = s->bufused = buflen;
     s->flags = flags;
-    string_compute_strlen(s);
+    (void)string_compute_strlen(s);
     s->type = type;
 
     return s;
Index: include/parrot/key.h
===================================================================
RCS file: /home/perlcvs/parrot/include/parrot/key.h,v
retrieving revision 1.2
diff -u -r1.2 key.h
--- include/parrot/key.h        12 Dec 2001 02:12:15 -0000      1.2
+++ include/parrot/key.h        20 Dec 2001 01:40:32 -0000
@@ -46,6 +46,7 @@
 INTVAL key_size(struct Parrot_Interp *interpreter, KEY *key);
 void key_set_size(struct Parrot_Interp *interpreter, KEY *key, INTVAL size);
 void key_destroy(struct Parrot_Interp *interpreter, KEY *key);
+INTVAL key_element_type(struct Parrot_Interp *interpreter, KEY* key, INTVAL index);
 KEY_PAIR* key_element_value_i(struct Parrot_Interp *interpreter, KEY *key, INTVAL 
index);
 KEY_PAIR* key_element_value_s(struct Parrot_Interp *interpreter, KEY *key, STRING* 
index);
 void key_set_element_value_i(struct Parrot_Interp *interpreter, KEY *key, INTVAL 
index, KEY_PAIR* value);
Index: include/parrot/trace.h
===================================================================
RCS file: /home/perlcvs/parrot/include/parrot/trace.h,v
retrieving revision 1.2
diff -u -r1.2 trace.h
--- include/parrot/trace.h      13 Dec 2001 16:21:55 -0000      1.2
+++ include/parrot/trace.h      20 Dec 2001 01:40:33 -0000
@@ -19,6 +19,9 @@
 trace_op_dump(struct Parrot_Interp *interpreter, opcode_t *code_start, opcode_t *pc);
 
 void
+trace_op(struct Parrot_Interp *interpreter, opcode_t * code_start, opcode_t * 
+code_end, opcode_t *pc);
+
+void
 trace_op_b0(struct Parrot_Interp *interpreter, opcode_t * code_start, opcode_t *pc);
 
 void
Index: platforms/generic.c
===================================================================
RCS file: /home/perlcvs/parrot/platforms/generic.c,v
retrieving revision 1.2
diff -u -r1.2 generic.c
--- platforms/generic.c 7 Nov 2001 14:43:34 -0000       1.2
+++ platforms/generic.c 20 Dec 2001 01:40:33 -0000
@@ -2,6 +2,7 @@
 ** platform.c [generic version]
 */
 
+#include <time.h>
 #include <sys/time.h>
 #include <dlfcn.h>
 





Reply via email to