Here's a replacement for my previous patch.   This one includes the 
following:

  Makefile target for "lint" (runs lclint with some very permissive settings)
  Fixes some ignored return values
  A few minor casts.

--Josh

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


Index: Configure.pl
===================================================================
RCS file: /home/perlcvs/parrot/Configure.pl,v
retrieving revision 1.23
diff -u -r1.23 Configure.pl
--- Configure.pl	2001/10/04 20:19:38	1.23
+++ Configure.pl	2001/10/06 21:17:42
@@ -72,7 +72,8 @@
     
 	cc =>			$Config{cc},
 	#ADD C COMPILER FLAGS HERE
-	ccflags =>		$Config{ccflags}." -I./include",
+        cc_inc  =>              "-I./include",
+	ccflags =>		$Config{ccflags},
 	libs =>			$Config{libs},
 	cc_debug =>		'-g',
 	o =>			'.o',		# object files extension
Index: Makefile.in
===================================================================
RCS file: /home/perlcvs/parrot/Makefile.in,v
retrieving revision 1.18
diff -u -r1.18 Makefile.in
--- Makefile.in	2001/10/06 12:41:57	1.18
+++ Makefile.in	2001/10/06 21:17:42
@@ -9,7 +9,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}
+CFLAGS = ${ccflags} ${cc_inc} ${cc_debug}
 
 C_LIBS = ${libs}
 
@@ -19,6 +19,9 @@
 TEST_PROG = test_prog${exe}
 PDUMP = pdump${exe}
 
+LINT = lclint
+LINTFLAGS = +showscan +posixlib -weak +longintegral +matchanyintegral -formattype
+
 .c$(O):
 	$(CC) $(CFLAGS) -o $@ -c $<
 
@@ -86,3 +89,9 @@
 
 update:
 	cvs -q update -dP
+
+lint: test_prog pdump
+	$(LINT) ${cc_inc} $(LINTFLAGS) `echo $(O_FILES) | sed 's/\.o/\.c/g'`
+	$(LINT) ${cc_inc} $(LINTFLAGS) test_main.c
+	$(LINT) ${cc_inc} $(LINTFLAGS) pdump.c	
+
Index: basic_opcodes.ops
===================================================================
RCS file: /home/perlcvs/parrot/basic_opcodes.ops,v
retrieving revision 1.32
diff -u -r1.32 basic_opcodes.ops
--- basic_opcodes.ops	2001/10/06 00:57:43	1.32
+++ basic_opcodes.ops	2001/10/06 21:17:43
@@ -140,7 +140,7 @@
 
 /* TIME Ix */
 AUTO_OP time_i {
-  INT_REG(P1) = time(NULL);
+  INT_REG(P1) = (INTVAL)time(NULL);
 }
 
 /* PRINT Ix */
@@ -316,7 +316,7 @@
 
 /* TIME Nx */
 AUTO_OP time_n {
-  NUM_REG(P1) = time(NULL);
+  NUM_REG(P1) = (FLOATVAL)time(NULL);
 }
 
 /* PRINT Nx */
Index: interpreter.c
===================================================================
RCS file: /home/perlcvs/parrot/interpreter.c,v
retrieving revision 1.23
diff -u -r1.23 interpreter.c
--- interpreter.c	2001/10/03 16:21:30	1.23
+++ interpreter.c	2001/10/06 21:17:44
@@ -235,6 +235,8 @@
     
     /* The default opcode function table would be a good thing here... */
     {
+        /*@-castfcnptr@*/
+       
         opcode_t *(**foo)();
         foo = mem_sys_allocate(2048 * sizeof(void *));
         
Index: packfile.c
===================================================================
RCS file: /home/perlcvs/parrot/packfile.c,v
retrieving revision 1.10
diff -u -r1.10 packfile.c
--- packfile.c	2001/10/06 00:57:43	1.10
+++ packfile.c	2001/10/06 21:17:47
@@ -1306,27 +1306,28 @@
 #if TRACE_PACKFILE
             printf("PackFile_Constant_unpack(): Unpacking no-type constant...\n");
 #endif
+            return 1;
             break;
 
         case PFC_INTEGER:
 #if TRACE_PACKFILE
             printf("PackFile_Constant_unpack(): Unpacking integer constant...\n");
 #endif
-            PackFile_Constant_unpack_integer(self, cursor, size);
+            return(PackFile_Constant_unpack_integer(self, cursor, size));
             break;
 
         case PFC_NUMBER:
 #if TRACE_PACKFILE
             printf("PackFile_Constant_unpack(): Unpacking number constant...\n");
 #endif
-            PackFile_Constant_unpack_number(self, cursor, size);
+            return(PackFile_Constant_unpack_number(self, cursor, size));
             break;
 
         case PFC_STRING:
 #if TRACE_PACKFILE
             printf("PackFile_Constant_unpack(): Unpacking string constant...\n");
 #endif
-            PackFile_Constant_unpack_string(self, cursor, size);
+            return(PackFile_Constant_unpack_string(self, cursor, size));
             break;
 
         default:
@@ -1335,7 +1336,7 @@
             break;
     }
 
-    return 1;
+    /*NOTREACHED*/
 }
 
 
Index: pdump.c
===================================================================
RCS file: /home/perlcvs/parrot/pdump.c,v
retrieving revision 1.3
diff -u -r1.3 pdump.c
--- pdump.c	2001/09/30 20:25:22	1.3
+++ pdump.c	2001/10/06 21:17:47
@@ -60,7 +60,10 @@
 
     pf = PackFile_new();
 
-    PackFile_unpack(pf, packed, packed_size);
+    if (!PackFile_unpack(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.10
diff -u -r1.10 register.c
--- register.c	2001/10/02 14:01:30	1.10
+++ register.c	2001/10/06 21:17:48
@@ -209,7 +209,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: stacks.c
===================================================================
RCS file: /home/perlcvs/parrot/stacks.c,v
retrieving revision 1.1
diff -u -r1.1 stacks.c
--- stacks.c	2001/09/20 02:52:10	1.1
+++ stacks.c	2001/10/06 21:17:48
@@ -10,7 +10,7 @@
  *  References:
  */
 
-struct Stack_Entry *push_generic_entry(
+struct Stack_Entry *push_generic_entry;
 
 /*
  * Local variables:
Index: string.c
===================================================================
RCS file: /home/perlcvs/parrot/string.c,v
retrieving revision 1.11
diff -u -r1.11 string.c
--- string.c	2001/10/03 15:58:54	1.11
+++ string.c	2001/10/06 21:17:48
@@ -34,7 +34,7 @@
     s->encoding = &(Parrot_string_vtable[encoding]);
     s->buflen = s->bufused = buflen;
     s->flags = flags;
-    string_compute_strlen(s);
+    (void)string_compute_strlen(s);
     s->type = type;
     return s;
 }
Index: test_main.c
===================================================================
RCS file: /home/perlcvs/parrot/test_main.c,v
retrieving revision 1.14
diff -u -r1.14 test_main.c
--- test_main.c	2001/10/06 00:57:43	1.14
+++ test_main.c	2001/10/06 21:17:49
@@ -47,16 +47,16 @@
         time_t foo;
         
         printf("String %p has length %i: %.*s\n", s, (int) string_length(s), (int) string_length(s), (char *) s->bufstart);
-        string_concat(s, t, 0);
+        (void)string_concat(s, t, 0);
         printf("String %p has length %i: %.*s\n", s, (int) string_length(s), (int) string_length(s), (char *) s->bufstart);
-        string_chopn(s, 4);
+        (void)string_chopn(s, 4);
         printf("String %p has length %i: %.*s\n", s, (int) string_length(s), (int) string_length(s), (char *) s->bufstart);
-        string_chopn(s, 4);
+        (void)string_chopn(s, 4);
         printf("String %p has length %i: %.*s\n", s, (int) string_length(s), (int) string_length(s), (char *) s->bufstart);
         foo = time(0);
         for (i = 0; i < 100000000; i++) {
-            string_concat(s, t, 0);
-            string_chopn(s, 4);
+            (void)string_concat(s, t, 0);
+            (void)string_chopn(s, 4);
         }
         printf("10000000 concats and chops took %li seconds.\n", time(0)-foo);
         string_destroy(s);

Reply via email to