perl.cvs.parrot
[Top] [All Lists]

[svn:parrot] r19886 - in trunk: compilers/imcc config/gen/makefiles incl

Subject: [svn:parrot] r19886 - in trunk: compilers/imcc config/gen/makefiles include/parrot src src/gc src/io src/stm tools/build
From:
Date: Sat, 14 Jul 2007 23:19:55 -0700 PDT
Newsgroups: perl.cvs.parrot

Author: petdance
Date: Sat Jul 14 23:19:53 2007
New Revision: 19886

Modified:
   trunk/compilers/imcc/cfg.c
   trunk/config/gen/makefiles/root.in
   trunk/include/parrot/charset.h
   trunk/include/parrot/compiler.h
   trunk/include/parrot/dynext.h
   trunk/include/parrot/encoding.h
   trunk/include/parrot/mmd.h
   trunk/include/parrot/objects.h
   trunk/include/parrot/packfile.h
   trunk/src/charset.c
   trunk/src/dynext.c
   trunk/src/encoding.c
   trunk/src/gc/dod.c
   trunk/src/gc/gc_gms.c
   trunk/src/gc/memory.c
   trunk/src/gc/resources.c
   trunk/src/inter_call.c
   trunk/src/inter_create.c
   trunk/src/io/io_unix.c
   trunk/src/longopt.c
   trunk/src/mmd.c
   trunk/src/objects.c
   trunk/src/packfile.c
   trunk/src/pic_jit.c
   trunk/src/pmc_freeze.c
   trunk/src/stm/backend.c
   trunk/tools/build/headerizer.pl

Log:
More splint macro slathering.  Join the party, won't you?

Modified: trunk/compilers/imcc/cfg.c
==============================================================================
--- trunk/compilers/imcc/cfg.c  (original)
+++ trunk/compilers/imcc/cfg.c  Sat Jul 14 23:19:53 2007
@@ -61,14 +61,18 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(3);
 
-static void free_dominance_frontiers( IMC_Unit * unit );
+static void free_dominance_frontiers( NOTNULL(IMC_Unit *unit) )
+        __attribute__nonnull__(1);
+
 static void free_dominators( NOTNULL(IMC_Unit *unit) )
         __attribute__nonnull__(1);
 
 static void free_edge( NOTNULL(IMC_Unit *unit) )
         __attribute__nonnull__(1);
 
-static void free_loops( IMC_Unit * unit );
+static void free_loops( NOTNULL(IMC_Unit *unit) )
+        __attribute__nonnull__(1);
+
 static void init_basic_blocks( NOTNULL(IMC_Unit *unit) )
         __attribute__nonnull__(1);
 
@@ -79,9 +83,18 @@
         __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
-static void mark_loop( Parrot_Interp interp, IMC_Unit * unit, const Edge* e );
+static void mark_loop( PARROT_INTERP,
+    NOTNULL(IMC_Unit *unit),
+    NOTNULL(const Edge *e) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
+
 static void propagate_need( Basic_block *bb, SymReg* r, int i );
-static void sort_loops( Parrot_Interp interp, IMC_Unit * unit );
+static void sort_loops( PARROT_INTERP, NOTNULL(IMC_Unit *unit) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
 /* HEADERIZER END: static */
 
 /* Code: */
@@ -921,7 +934,7 @@
 }
 
 static void
-free_dominance_frontiers(IMC_Unit * unit)
+free_dominance_frontiers(NOTNULL(IMC_Unit *unit))
 {
     int i;
 
@@ -936,7 +949,7 @@
 
 
 static void
-sort_loops(Parrot_Interp interp, IMC_Unit * unit)
+sort_loops(PARROT_INTERP, NOTNULL(IMC_Unit *unit))
 {
     int i, j, changed;
     Loop_info *li;
@@ -1060,7 +1073,7 @@
 /* Increases the loop_depth of all the nodes in a loop */
 
 static void
-mark_loop(Parrot_Interp interp, IMC_Unit * unit, const Edge* e)
+mark_loop(PARROT_INTERP, NOTNULL(IMC_Unit *unit), NOTNULL(const Edge *e))
 {
     Set* loop;
     Set* exits;
@@ -1140,7 +1153,7 @@
 }
 
 static void
-free_loops(IMC_Unit * unit)
+free_loops(NOTNULL(IMC_Unit *unit))
 {
     int i;
     for (i = 0; i < unit->n_loops; i++) {

Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in  (original)
+++ trunk/config/gen/makefiles/root.in  Sat Jul 14 23:19:53 2007
@@ -1749,6 +1749,13 @@
        -standard \
        -tmpdir $(SPLINT_TMP) \
        -message-stream-stdout \
+       -declundef \
+       -show-summary \
+       -exportlocal \
+       +linelen 120 \
+       +showdeephistory \
+       -showfunc \
+       -hints \
        \
        -abstract \
        +aliasunique \
@@ -1777,7 +1784,6 @@
        -initallelements \
        -isoreserved \
        -isoreservedinternal \
-       +linelen 9999 \
        +longintegral \
        +macroassign \
        +macroempty \
@@ -1809,6 +1815,8 @@
        -skipposixheaders \
        -type \
        \
+       \
+       \
        -mustfreefresh \
        -mustfreeonly \
        -compdestroy \
@@ -1853,21 +1861,10 @@
 splint-andy :
        $(MKPATH) $(SPLINT_TMP)
        /var/splint312/bin/splint $(CC_INC) @cc_hasjit@ "-Isrc/pmc" 
"-Icompilers/ast" $(SPLINTFLAGS) $(SPLINTFLAGS_TEST) \
-               -declundef \
-               -show-summary \
-               -exportlocal \
-               +linelen 80 \
-               +showdeephistory \
-               -showfunc \
-               -hints \
                \
-               src/builtin.c \
-               src/stacks.c \
-
-LATER = \
-               src/string.c \
-               src/list.c \
-               src/intlist.c \
+               src/gc/dod.c  src/gc/gc_gms.c  src/gc/gc_ims.c \
+               src/gc/memory.c  src/gc/register.c  \
+               src/gc/resources.c  src/gc/smallobject.c \
 
 ###############################################################################
 #

Modified: trunk/include/parrot/charset.h
==============================================================================
--- trunk/include/parrot/charset.h      (original)
+++ trunk/include/parrot/charset.h      Sat Jul 14 23:19:53 2007
@@ -119,6 +119,7 @@
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 charset_converter_t Parrot_find_charset_converter(
     SHIM_INTERP,
     NOTNULL(CHARSET *lhs),

Modified: trunk/include/parrot/compiler.h
==============================================================================
--- trunk/include/parrot/compiler.h     (original)
+++ trunk/include/parrot/compiler.h     Sat Jul 14 23:19:53 2007
@@ -74,7 +74,7 @@
  * get "_unused" added to them so that you can't accidentally use them
  * without removing the shim designation.
  */
-#define SHIM(a) /*@unused@*/ a##_unused __attribute__unused__
+#define SHIM(a) /*@unused@*/ a##_unused __attribute__unused__ /*@null@*/
 
 /* UNUSED() is the old way we handled shim arguments Should still be
    used in cases where the argument should, at some point be used.

Modified: trunk/include/parrot/dynext.h
==============================================================================
--- trunk/include/parrot/dynext.h       (original)
+++ trunk/include/parrot/dynext.h       Sat Jul 14 23:19:53 2007
@@ -11,6 +11,8 @@
 /* HEADERIZER BEGIN: src/dynext.c */
 
 PARROT_API
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
 PMC * Parrot_clone_lib_into( Interp *d, Interp *s, PMC *lib_pmc );
 
 PARROT_API
@@ -21,6 +23,8 @@
         __attribute__nonnull__(1);
 
 PARROT_API
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
 PMC * Parrot_load_lib( PARROT_INTERP, NULLOK(STRING *lib), PMC *initializer )
         __attribute__nonnull__(1);
 

Modified: trunk/include/parrot/encoding.h
==============================================================================
--- trunk/include/parrot/encoding.h     (original)
+++ trunk/include/parrot/encoding.h     Sat Jul 14 23:19:53 2007
@@ -76,19 +76,19 @@
 /* HEADERIZER BEGIN: src/encoding.c */
 
 PARROT_API
-ENCODING * Parrot_default_encoding( PARROT_INTERP )
-        __attribute__nonnull__(1);
+ENCODING * Parrot_default_encoding( SHIM_INTERP );
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 const char * Parrot_encoding_c_name( PARROT_INTERP,
     INTVAL number_of_encoding )
         __attribute__nonnull__(1);
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
-STRING* Parrot_encoding_name( PARROT_INTERP, INTVAL number_of_encoding )
-        __attribute__nonnull__(1);
+PARROT_CAN_RETURN_NULL
+STRING* Parrot_encoding_name( SHIM_INTERP, INTVAL number_of_encoding );
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
@@ -104,6 +104,7 @@
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 ENCODING * Parrot_find_encoding( PARROT_INTERP,
     NOTNULL(const char *encodingname) )
         __attribute__nonnull__(1)
@@ -117,6 +118,7 @@
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 ENCODING* Parrot_get_encoding( PARROT_INTERP, INTVAL number_of_encoding )
         __attribute__nonnull__(1);
 
@@ -128,10 +130,10 @@
         __attribute__nonnull__(2);
 
 PARROT_API
-INTVAL Parrot_make_default_encoding( PARROT_INTERP,
+INTVAL Parrot_make_default_encoding(
+    SHIM_INTERP,
     const char *encodingname,
     NOTNULL(ENCODING *encoding) )
-        __attribute__nonnull__(1)
         __attribute__nonnull__(3);
 
 PARROT_API

Modified: trunk/include/parrot/mmd.h
==============================================================================
--- trunk/include/parrot/mmd.h  (original)
+++ trunk/include/parrot/mmd.h  Sat Jul 14 23:19:53 2007
@@ -87,7 +87,7 @@
 PMC* mmd_dispatch_p_pip( PARROT_INTERP,
     NOTNULL(PMC *left),
     INTVAL right,
-    PMC *dest,
+    NULLOK(PMC *dest),
     INTVAL func_nr )
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
@@ -96,7 +96,7 @@
 PMC* mmd_dispatch_p_pnp( PARROT_INTERP,
     NOTNULL(PMC *left),
     FLOATVAL right,
-    PMC *dest,
+    NULLOK(PMC *dest),
     INTVAL func_nr )
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
@@ -105,7 +105,7 @@
 PMC* mmd_dispatch_p_ppp( PARROT_INTERP,
     NOTNULL(PMC *left),
     NOTNULL(PMC *right),
-    PMC *dest,
+    NULLOK(PMC *dest),
     INTVAL func_nr )
         __attribute__nonnull__(1)
         __attribute__nonnull__(2)
@@ -114,11 +114,12 @@
 PARROT_API
 PMC* mmd_dispatch_p_psp( PARROT_INTERP,
     NOTNULL(PMC *left),
-    STRING *right,
-    PMC *dest,
+    NOTNULL(STRING *right),
+    NULLOK(PMC *dest),
     INTVAL func_nr )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 PARROT_API
 void mmd_dispatch_v_pn( PARROT_INTERP,
@@ -174,9 +175,10 @@
 PARROT_API
 void Parrot_mmd_register_table( PARROT_INTERP,
     INTVAL type,
-    const MMD_init *mmd_table,
+    NOTNULL(const MMD_init *mmd_table),
     INTVAL n )
-        __attribute__nonnull__(1);
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(3);
 
 PARROT_API
 PMC * Parrot_MMD_search_default_infix( PARROT_INTERP,

Modified: trunk/include/parrot/objects.h
==============================================================================
--- trunk/include/parrot/objects.h      (original)
+++ trunk/include/parrot/objects.h      Sat Jul 14 23:19:53 2007
@@ -98,8 +98,11 @@
         __attribute__nonnull__(2);
 
 PARROT_API
-PMC * Parrot_get_attrib_by_num( PARROT_INTERP, PMC *object, INTVAL attrib )
-        __attribute__nonnull__(1);
+PMC * Parrot_get_attrib_by_num( PARROT_INTERP,
+    NOTNULL(PMC *object),
+    INTVAL attrib )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 PARROT_API
 PMC * Parrot_get_attrib_by_str( PARROT_INTERP, PMC *object, STRING *attr )
@@ -111,12 +114,17 @@
         __attribute__nonnull__(2);
 
 PARROT_API
-void Parrot_instantiate_object( PARROT_INTERP, PMC *object )
-        __attribute__nonnull__(1);
+void Parrot_instantiate_object( PARROT_INTERP, NOTNULL(PMC *object) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 PARROT_API
-void Parrot_instantiate_object_init( PARROT_INTERP, PMC *object, PMC *init )
-        __attribute__nonnull__(1);
+void Parrot_instantiate_object_init( PARROT_INTERP,
+    NOTNULL(PMC *object),
+    NOTNULL(PMC *init) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 PARROT_API
 void Parrot_invalidate_method_cache( PARROT_INTERP,
@@ -164,17 +172,22 @@
 
 PARROT_API
 void Parrot_set_attrib_by_num( PARROT_INTERP,
-    PMC *object,
+    NOTNULL(PMC *object),
     INTVAL attrib,
-    PMC *value )
-        __attribute__nonnull__(1);
+    NOTNULL(PMC *value) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4);
 
 PARROT_API
 void Parrot_set_attrib_by_str( PARROT_INTERP,
-    PMC *object,
-    STRING *attr,
-    PMC *value )
-        __attribute__nonnull__(1);
+    NOTNULL(PMC *object),
+    NOTNULL(STRING *attr),
+    NOTNULL(PMC *value) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4);
 
 PARROT_API
 void Parrot_set_class_constructor( PARROT_INTERP,

Modified: trunk/include/parrot/packfile.h
==============================================================================
--- trunk/include/parrot/packfile.h     (original)
+++ trunk/include/parrot/packfile.h     Sat Jul 14 23:19:53 2007
@@ -442,10 +442,11 @@
 PackFile_Segment * PackFile_Segment_new_seg( PARROT_INTERP,
     NOTNULL(PackFile_Directory *dir),
     UINTVAL type,
-    const char *name,
+    NOTNULL(const char *name),
     int add )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4);
 
 PARROT_API
 opcode_t * PackFile_Segment_pack( PARROT_INTERP,

Modified: trunk/src/charset.c
==============================================================================
--- trunk/src/charset.c (original)
+++ trunk/src/charset.c Sat Jul 14 23:19:53 2007
@@ -124,7 +124,6 @@
     UNUSED(charsetname);
 
     real_exception(interp, NULL, UNIMPLEMENTED, "Can't load charsets yet");
-    return NULL;
 }
 
 /*
@@ -333,6 +332,7 @@
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 charset_converter_t
 Parrot_find_charset_converter(SHIM_INTERP, NOTNULL(CHARSET *lhs), 
NOTNULL(CHARSET *rhs))
 {

Modified: trunk/src/dynext.c
==============================================================================
--- trunk/src/dynext.c  (original)
+++ trunk/src/dynext.c  Sat Jul 14 23:19:53 2007
@@ -19,6 +19,8 @@
 
 /* HEADERIZER BEGIN: static */
 
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 static STRING * get_path( PARROT_INTERP,
     STRING *lib,
     NOTNULL(void **handle),
@@ -27,9 +29,13 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(3);
 
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 static PMC* is_loaded( PARROT_INTERP, STRING *path )
         __attribute__nonnull__(1);
 
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
 static PMC * make_string_pmc( PARROT_INTERP, STRING *string )
         __attribute__nonnull__(1);
 
@@ -114,6 +120,8 @@
 
 */
 
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 static PMC*
 is_loaded(PARROT_INTERP, STRING *path)
 {
@@ -134,6 +142,8 @@
 
 */
 
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 static STRING *
 get_path(PARROT_INTERP, STRING *lib, NOTNULL(void **handle),
                          STRING *wo_ext, STRING *ext)
@@ -340,6 +350,8 @@
     return lib_pmc;
 }
 
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
 static STRING *
 clone_string_into(Interp *d, Interp *s, PMC *value) {
     STRING * const orig = VTABLE_get_string(s, value);
@@ -352,6 +364,8 @@
     return ret;
 }
 
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
 static PMC *
 make_string_pmc(PARROT_INTERP, STRING *string)
 {
@@ -362,6 +376,8 @@
 }
 
 PARROT_API
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
 PMC *
 Parrot_clone_lib_into(Interp *d, Interp *s, PMC *lib_pmc)
 {
@@ -413,6 +429,8 @@
 }
 
 PARROT_API
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
 PMC *
 Parrot_load_lib(PARROT_INTERP, NULLOK(STRING *lib), SHIM(PMC *initializer))
 {

Modified: trunk/src/encoding.c
==============================================================================
--- trunk/src/encoding.c        (original)
+++ trunk/src/encoding.c        Sat Jul 14 23:19:53 2007
@@ -81,6 +81,7 @@
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 ENCODING *
 Parrot_find_encoding(PARROT_INTERP, NOTNULL(const char *encodingname))
 {
@@ -107,7 +108,6 @@
 {
     UNUSED(encodingname);
     real_exception(interp, NULL, UNIMPLEMENTED, "Can't load encodings yet");
-    return NULL;
 }
 
 /*
@@ -160,11 +160,10 @@
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 STRING*
-Parrot_encoding_name(PARROT_INTERP, INTVAL number_of_encoding)
+Parrot_encoding_name(SHIM_INTERP, INTVAL number_of_encoding)
 {
-    UNUSED(interp);
-
     if (number_of_encoding >= all_encodings->n_encodings)
         return NULL;
     return all_encodings->enc[number_of_encoding].name;
@@ -172,11 +171,10 @@
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 ENCODING*
 Parrot_get_encoding(PARROT_INTERP, INTVAL number_of_encoding)
 {
-    UNUSED(interp);
-
     if (number_of_encoding >= all_encodings->n_encodings)
         return NULL;
     return all_encodings->enc[number_of_encoding].encoding;
@@ -184,11 +182,10 @@
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
 const char *
 Parrot_encoding_c_name(PARROT_INTERP, INTVAL number_of_encoding)
 {
-    UNUSED(interp);
-
     if (number_of_encoding >= all_encodings->n_encodings)
         return NULL;
     return all_encodings->enc[number_of_encoding].encoding->name;
@@ -257,29 +254,23 @@
 
 PARROT_API
 INTVAL
-Parrot_make_default_encoding(PARROT_INTERP, const char *encodingname,
+Parrot_make_default_encoding(SHIM_INTERP, SHIM(const char *encodingname),
         NOTNULL(ENCODING *encoding))
 {
-    UNUSED(interp);
-    UNUSED(encodingname);
-
     Parrot_default_encoding_ptr = encoding;
     return 1;
 }
 
 PARROT_API
 ENCODING *
-Parrot_default_encoding(PARROT_INTERP)
+Parrot_default_encoding(SHIM_INTERP)
 {
-    UNUSED(interp);
-
     return Parrot_default_encoding_ptr;
 }
 
 PARROT_API
 encoding_converter_t
-Parrot_find_encoding_converter(PARROT_INTERP, ENCODING *lhs,
-        ENCODING *rhs)
+Parrot_find_encoding_converter(PARROT_INTERP, ENCODING *lhs, ENCODING *rhs)
 {
     UNUSED(interp);
     UNUSED(lhs);

Modified: trunk/src/gc/dod.c
==============================================================================
--- trunk/src/gc/dod.c  (original)
+++ trunk/src/gc/dod.c  Sat Jul 14 23:19:53 2007
@@ -33,7 +33,6 @@
         __attribute__nonnull__(1);
 
 PARROT_CONST_FUNCTION
-PARROT_WARN_UNUSED_RESULT
 static size_t find_common_mask( PARROT_INTERP, size_t val1, size_t val2 )
         __attribute__nonnull__(1);
 
@@ -44,9 +43,10 @@
 static int sweep_cb( PARROT_INTERP,
     NOTNULL(Small_Object_Pool *pool),
     int flag,
-    void *arg )
+    NOTNULL(void *arg) )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4);
 
 static int trace_active_PMCs( PARROT_INTERP, int trace_stack )
         __attribute__nonnull__(1);
@@ -724,7 +724,6 @@
 */
 
 PARROT_CONST_FUNCTION
-PARROT_WARN_UNUSED_RESULT
 static size_t
 find_common_mask(PARROT_INTERP, size_t val1, size_t val2)
 {
@@ -922,7 +921,7 @@
 }
 
 static int
-sweep_cb(PARROT_INTERP, NOTNULL(Small_Object_Pool *pool), int flag, void *arg)
+sweep_cb(PARROT_INTERP, NOTNULL(Small_Object_Pool *pool), int flag, 
NOTNULL(void *arg))
 {
     int * const total_free = (int *) arg;
 

Modified: trunk/src/gc/gc_gms.c
==============================================================================
--- trunk/src/gc/gc_gms.c       (original)
+++ trunk/src/gc/gc_gms.c       Sat Jul 14 23:19:53 2007
@@ -135,14 +135,18 @@
     void *to_add )
         __attribute__nonnull__(1);
 
-static void gc_gms_alloc_objects( PARROT_INTERP, Small_Object_Pool *pool )
-        __attribute__nonnull__(1);
+static void gc_gms_alloc_objects( PARROT_INTERP,
+    NOTNULL(Small_Object_Pool *pool) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void gc_gms_chain_objects( PARROT_INTERP,
-    Small_Object_Pool *pool,
-    Small_Object_Arena *new_arena,
+    NOTNULL(Small_Object_Pool *pool),
+    NOTNULL(Small_Object_Arena *new_arena),
     size_t real_size )
-        __attribute__nonnull__(1);
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static void gc_gms_clear_hdr_list( PARROT_INTERP,
     NOTNULL(Gc_gms_hdr_list *l) )
@@ -155,9 +159,10 @@
 
 PARROT_MALLOC
 static Gc_gms_gen * gc_gms_create_gen( PARROT_INTERP,
-    Small_Object_Pool *pool,
+    NOTNULL(Small_Object_Pool *pool),
     size_t gen_no )
-        __attribute__nonnull__(1);
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void gc_gms_end_cycle( PARROT_INTERP )
         __attribute__nonnull__(1);
@@ -169,11 +174,14 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
-static void * gc_gms_get_free_object( PARROT_INTERP, Small_Object_Pool *pool )
-        __attribute__nonnull__(1);
+static void * gc_gms_get_free_object( PARROT_INTERP,
+    NOTNULL(Small_Object_Pool *pool) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
-static void gc_gms_init_gen( PARROT_INTERP, Small_Object_Pool *pool )
-        __attribute__nonnull__(1);
+static void gc_gms_init_gen( PARROT_INTERP, NOTNULL(Small_Object_Pool *pool) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void gc_gms_init_mark( PARROT_INTERP )
         __attribute__nonnull__(1);
@@ -186,8 +194,10 @@
         __attribute__nonnull__(2)
         __attribute__nonnull__(4);
 
-static void gc_gms_more_objects( PARROT_INTERP, Small_Object_Pool *pool )
-        __attribute__nonnull__(1);
+static void gc_gms_more_objects( PARROT_INTERP,
+    NOTNULL(Small_Object_Pool *pool) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void gc_gms_pool_init( PARROT_INTERP,
     NOTNULL(Small_Object_Pool *pool)  )
@@ -495,8 +505,8 @@
 
 static void
 gc_gms_chain_objects(PARROT_INTERP,
-        Small_Object_Pool *pool,
-        Small_Object_Arena *new_arena,
+        NOTNULL(Small_Object_Pool *pool),
+        NOTNULL(Small_Object_Arena *new_arena),
         size_t real_size)
 {
     Gc_gms_hdr *p, *next, *prev, *marker;
@@ -543,7 +553,7 @@
 }
 
 static void
-gc_gms_alloc_objects(PARROT_INTERP, Small_Object_Pool *pool)
+gc_gms_alloc_objects(PARROT_INTERP, NOTNULL(Small_Object_Pool *pool))
 {
     const size_t real_size = pool->object_size;
     Small_Object_Arena * const new_arena = mem_internal_allocate(sizeof 
(Small_Object_Arena));
@@ -565,7 +575,7 @@
 }
 
 static void
-gc_gms_more_objects(PARROT_INTERP, Small_Object_Pool *pool)
+gc_gms_more_objects(PARROT_INTERP, NOTNULL(Small_Object_Pool *pool))
 {
     if (pool->skip)
         pool->skip = 0;
@@ -586,7 +596,7 @@
  */
 
 static void *
-gc_gms_get_free_object(PARROT_INTERP, Small_Object_Pool *pool)
+gc_gms_get_free_object(PARROT_INTERP, NOTNULL(Small_Object_Pool *pool))
 {
     PObj *ptr;
     Gc_gms_hdr *hdr;
@@ -638,7 +648,7 @@
 
 PARROT_MALLOC
 static Gc_gms_gen *
-gc_gms_create_gen(PARROT_INTERP, Small_Object_Pool *pool, size_t gen_no)
+gc_gms_create_gen(PARROT_INTERP, NOTNULL(Small_Object_Pool *pool), size_t 
gen_no)
 {
     Gc_gms_gen * const gen = mem_sys_allocate(sizeof (*gen));
 
@@ -653,7 +663,7 @@
 }
 
 static void
-gc_gms_init_gen(PARROT_INTERP, Small_Object_Pool *pool)
+gc_gms_init_gen(PARROT_INTERP, NOTNULL(Small_Object_Pool *pool))
 {
     Gc_gms_private *gmsp;
     /*

Modified: trunk/src/gc/memory.c
==============================================================================
--- trunk/src/gc/memory.c       (original)
+++ trunk/src/gc/memory.c       Sat Jul 14 23:19:53 2007
@@ -78,7 +78,7 @@
 #ifdef DETAIL_MEMORY_DEBUG
     fprintf(stderr, "Allocated %i at %p\n", size, ptr);
 #endif
-    if (!ptr && size)
+    if (!ptr)
         PANIC(NULL, "Out of mem");
     return ptr;
 }
@@ -95,7 +95,7 @@
     UNUSED(file);
     UNUSED(line);
 #endif
-    if (!ptr && size)
+    if (!ptr)
         PANIC(NULL, "Out of mem");
     return ptr;
 }

Modified: trunk/src/gc/resources.c
==============================================================================
--- trunk/src/gc/resources.c    (original)
+++ trunk/src/gc/resources.c    Sat Jul 14 23:19:53 2007
@@ -46,12 +46,15 @@
 
 static void * alloc_new_block( PARROT_INTERP,
     size_t size,
-    Memory_Pool *pool,
-    const char *why )
-        __attribute__nonnull__(1);
+    NOTNULL(Memory_Pool *pool),
+    NOTNULL(const char *why) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4);
 
-static const char* buffer_location( PARROT_INTERP, const PObj *b )
-        __attribute__nonnull__(1);
+static const char* buffer_location( PARROT_INTERP, NOTNULL(const PObj *b) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void compact_pool( PARROT_INTERP, NOTNULL(Memory_Pool *pool) )
         __attribute__nonnull__(1)
@@ -75,7 +78,9 @@
         __attribute__nonnull__(2);
 
 PARROT_MALLOC
-static Memory_Pool * new_memory_pool( size_t min_block, compact_f compact );
+static Memory_Pool * new_memory_pool(
+    size_t min_block,
+    NULLOK(compact_f compact) );
 
 /* HEADERIZER END: static */
 
@@ -88,7 +93,8 @@
 */
 
 static void *
-alloc_new_block(PARROT_INTERP, size_t size, Memory_Pool *pool, const char *why)
+alloc_new_block(PARROT_INTERP, size_t size, NOTNULL(Memory_Pool *pool),
+        NOTNULL(const char *why))
 {
     Memory_Block *new_block;
 
@@ -230,7 +236,7 @@
 
 #if RESOURCE_DEBUG
 static const char*
-buffer_location(PARROT_INTERP, const PObj *b)
+buffer_location(PARROT_INTERP, NOTNULL(const PObj *b))
 {
     int i;
     static char reg[10];
@@ -790,7 +796,7 @@
 
 PARROT_MALLOC
 static Memory_Pool *
-new_memory_pool(size_t min_block, compact_f compact)
+new_memory_pool(size_t min_block, NULLOK(compact_f compact))
 {
     Memory_Pool * const pool = mem_internal_allocate_typed(Memory_Pool);
 
@@ -824,8 +830,7 @@
     alloc_new_block(interp, POOL_SIZE, arena_base->memory_pool, "init");
 
     /* Constant strings - not compacted */
-    arena_base->constant_string_pool =
-        new_memory_pool(POOL_SIZE, (compact_f)NULLfunc);
+    arena_base->constant_string_pool = new_memory_pool(POOL_SIZE, NULL);
 
     alloc_new_block(interp, POOL_SIZE,
                     arena_base->constant_string_pool, "init");

Modified: trunk/src/inter_call.c
==============================================================================
--- trunk/src/inter_call.c      (original)
+++ trunk/src/inter_call.c      Sat Jul 14 23:19:53 2007
@@ -104,9 +104,10 @@
 
 static void start_flatten( PARROT_INTERP,
     NOTNULL(call_state *st),
-    PMC *p_arg )
+    NOTNULL(PMC *p_arg) )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static void store_arg( NOTNULL(call_state *st), INTVAL idx )
         __attribute__nonnull__(1);
@@ -292,7 +293,7 @@
  * PMC being flattened, and fetch the first arg from the flattened set.
  */
 static void
-start_flatten(PARROT_INTERP, NOTNULL(call_state *st), PMC *p_arg)
+start_flatten(PARROT_INTERP, NOTNULL(call_state *st), NOTNULL(PMC *p_arg))
 {
     if (PARROT_ARG_NAME_ISSET(st->src.sig)) {
         /* src ought to be an hash */
@@ -352,7 +353,7 @@
 static int
 fetch_arg_sig(PARROT_INTERP, NOTNULL(call_state *st))
 {
-    va_list *ap = (va_list*)(st->src.u.sig.ap);
+    va_list * const ap = (va_list*)(st->src.u.sig.ap);
     switch (st->src.sig & PARROT_ARG_TYPE_MASK) {
         case PARROT_ARG_INTVAL:
             UVal_int(st->val) = va_arg(*ap, INTVAL);

Modified: trunk/src/inter_create.c
==============================================================================
--- trunk/src/inter_create.c    (original)
+++ trunk/src/inter_create.c    Sat Jul 14 23:19:53 2007
@@ -88,6 +88,7 @@
 void Parrot_really_destroy(Interp *, int exit_code, void *);
 
 PARROT_API
+PARROT_CANNOT_RETURN_NULL
 Parrot_Interp
 make_interpreter(NULLOK(Interp *parent), INTVAL flags)
 {

Modified: trunk/src/io/io_unix.c
==============================================================================
--- trunk/src/io/io_unix.c      (original)
+++ trunk/src/io/io_unix.c      Sat Jul 14 23:19:53 2007
@@ -144,8 +144,9 @@
     SHIM_INTERP,
     ParrotIOLayer *layer,
     NOTNULL(ParrotIO *io),
-    STRING *s )
-        __attribute__nonnull__(3);
+    NOTNULL(STRING *s) )
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4);
 
 static ParrotIO * PIO_unix_socket( PARROT_INTERP,
     ParrotIOLayer *layer,
@@ -860,7 +861,7 @@
 */
 
 static INTVAL
-PIO_unix_send(SHIM_INTERP, SHIM(ParrotIOLayer *layer), NOTNULL(ParrotIO *io), 
STRING *s)
+PIO_unix_send(SHIM_INTERP, SHIM(ParrotIOLayer *layer), NOTNULL(ParrotIO *io), 
NOTNULL(STRING *s))
 {
     int error, bytes, byteswrote;
 

Modified: trunk/src/longopt.c
==============================================================================
--- trunk/src/longopt.c (original)
+++ trunk/src/longopt.c Sat Jul 14 23:19:53 2007
@@ -25,10 +25,11 @@
     int argc,
     NOTNULL(char* argv[]),
     NOTNULL(const struct longopt_opt_decl options[]),
-    struct longopt_opt_info* info_buf )
+    NOTNULL(struct longopt_opt_info* info_buf) )
         __attribute__nonnull__(1)
         __attribute__nonnull__(3)
-        __attribute__nonnull__(4);
+        __attribute__nonnull__(4)
+        __attribute__nonnull__(5);
 
 static int longopt_get_shortopt( PARROT_INTERP,
     int argc,
@@ -112,7 +113,7 @@
 static int
 longopt_get_longopt(PARROT_INTERP, int argc, NOTNULL(char* argv[]),
                     NOTNULL(const struct longopt_opt_decl options[]),
-                    struct longopt_opt_info* info_buf)
+                    NOTNULL(struct longopt_opt_info* info_buf))
 {
     const int dex = info_buf->opt_index;
     int optlen = 0;

Modified: trunk/src/mmd.c
==============================================================================
--- trunk/src/mmd.c     (original)
+++ trunk/src/mmd.c     Sat Jul 14 23:19:53 2007
@@ -52,11 +52,13 @@
         __attribute__nonnull__(1);
 
 static funcptr_t get_mmd_dispatcher( PARROT_INTERP,
-    PMC *left,
-    PMC *right,
+    NOTNULL(PMC *left),
+    NOTNULL(PMC *right),
     INTVAL function,
     NOTNULL(int *is_pmc) )
         __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
         __attribute__nonnull__(5);
 
 static PMC* mmd_arg_tuple_func( PARROT_INTERP )
@@ -69,27 +71,31 @@
         __attribute__nonnull__(2);
 
 static void mmd_create_builtin_multi_meth( PARROT_INTERP,
-    PMC *ns,
+    NOTNULL(PMC *ns),
     INTVAL type,
     NOTNULL(const MMD_init *entry) )
         __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
         __attribute__nonnull__(4);
 
 static void mmd_create_builtin_multi_meth_2( PARROT_INTERP,
-    PMC *ns,
+    NOTNULL(PMC *ns),
     INTVAL func_nr,
     INTVAL type,
     INTVAL right,
     funcptr_t func_ptr )
-        __attribute__nonnull__(1);
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static PMC * mmd_create_builtin_multi_stub( PARROT_INTERP,
-    PMC* ns,
+    NOTNULL(PMC* ns),
     INTVAL func_nr )
-        __attribute__nonnull__(1);
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
-static PMC* mmd_cvt_to_types( PARROT_INTERP, PMC *multi_sig )
-        __attribute__nonnull__(1);
+static PMC* mmd_cvt_to_types( PARROT_INTERP, NOTNULL(PMC *multi_sig) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static PMC * mmd_deref( PARROT_INTERP, NOTNULL(PMC *value) )
         __attribute__nonnull__(1)
@@ -97,9 +103,10 @@
 
 static UINTVAL mmd_distance( PARROT_INTERP,
     NOTNULL(PMC *pmc),
-    PMC *arg_tuple )
+    NOTNULL(PMC *arg_tuple) )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static void mmd_ensure_writable( PARROT_INTERP,
     INTVAL function,
@@ -115,36 +122,64 @@
 static PMC* mmd_get_ns( PARROT_INTERP )
         __attribute__nonnull__(1);
 
-static int mmd_is_hidden( PARROT_INTERP, PMC *multi, PMC *cl )
-        __attribute__nonnull__(1);
+static int mmd_is_hidden( PARROT_INTERP,
+    NOTNULL(PMC *multi),
+    NOTNULL(PMC *cl) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static PMC* mmd_make_ns( PARROT_INTERP )
         __attribute__nonnull__(1);
 
-static int mmd_maybe_candidate( PARROT_INTERP, PMC *pmc, PMC *cl )
-        __attribute__nonnull__(1);
+static int mmd_maybe_candidate( PARROT_INTERP,
+    NOTNULL(PMC *pmc),
+    NOTNULL(PMC *cl) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
-static void mmd_search_builtin( PARROT_INTERP, STRING *meth, PMC *cl )
-        __attribute__nonnull__(1);
+static void mmd_search_builtin( PARROT_INTERP,
+    NOTNULL(STRING *meth),
+    NOTNULL(PMC *cl) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static void mmd_search_classes( PARROT_INTERP,
-    STRING *meth,
-    PMC *arg_tuple,
-    PMC *cl,
+    NOTNULL(STRING *meth),
+    NOTNULL(PMC *arg_tuple),
+    NOTNULL(PMC *cl),
     INTVAL start_at_parent )
-        __attribute__nonnull__(1);
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4);
 
-static int mmd_search_cur_namespace( PARROT_INTERP, STRING *meth, PMC *cl )
-        __attribute__nonnull__(1);
+static int mmd_search_cur_namespace( PARROT_INTERP,
+    NOTNULL(STRING *meth),
+    NOTNULL(PMC *cl) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
-static PMC* mmd_search_default( PARROT_INTERP, STRING *meth, PMC *arg_tuple )
-        __attribute__nonnull__(1);
+static PMC* mmd_search_default( PARROT_INTERP,
+    NOTNULL(STRING *meth),
+    NOTNULL(PMC *arg_tuple) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
-static PMC* mmd_search_scopes( PARROT_INTERP, STRING *meth )
-        __attribute__nonnull__(1);
+static PMC* mmd_search_scopes( PARROT_INTERP, NOTNULL(STRING *meth) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
-static void mmd_sort_candidates( PARROT_INTERP, PMC *arg_tuple, PMC *cl )
-        __attribute__nonnull__(1);
+static void mmd_sort_candidates( PARROT_INTERP,
+    NOTNULL(PMC *arg_tuple),
+    NOTNULL(PMC *cl) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 /* HEADERIZER END: static */
 
@@ -262,7 +297,7 @@
 
 
 static funcptr_t
-get_mmd_dispatcher(PARROT_INTERP, PMC *left, PMC *right,
+get_mmd_dispatcher(PARROT_INTERP, NOTNULL(PMC *left), NOTNULL(PMC *right),
         INTVAL function, NOTNULL(int *is_pmc))
 {
     const UINTVAL left_type = VTABLE_type(interp, left);
@@ -345,7 +380,7 @@
 PARROT_API
 PMC*
 mmd_dispatch_p_ppp(PARROT_INTERP,
-        NOTNULL(PMC *left), NOTNULL(PMC *right), PMC *dest, INTVAL func_nr)
+        NOTNULL(PMC *left), NOTNULL(PMC *right), NULLOK(PMC *dest), INTVAL 
func_nr)
 {
     mmd_f_p_ppp real_function;
     int is_pmc;
@@ -373,7 +408,7 @@
 PARROT_API
 PMC*
 mmd_dispatch_p_pip(PARROT_INTERP,
-        NOTNULL(PMC *left), INTVAL right, PMC *dest, INTVAL func_nr)
+        NOTNULL(PMC *left), INTVAL right, NULLOK(PMC *dest), INTVAL func_nr)
 {
     int is_pmc;
 
@@ -406,7 +441,7 @@
 PARROT_API
 PMC*
 mmd_dispatch_p_pnp(PARROT_INTERP,
-        NOTNULL(PMC *left), FLOATVAL right, PMC *dest, INTVAL func_nr)
+        NOTNULL(PMC *left), FLOATVAL right, NULLOK(PMC *dest), INTVAL func_nr)
 {
     mmd_f_p_pnp real_function;
     int is_pmc;
@@ -434,7 +469,7 @@
 PARROT_API
 PMC*
 mmd_dispatch_p_psp(PARROT_INTERP,
-        NOTNULL(PMC *left), STRING *right, PMC *dest, INTVAL func_nr)
+        NOTNULL(PMC *left), NOTNULL(STRING *right), NULLOK(PMC *dest), INTVAL 
func_nr)
 {
     mmd_f_p_psp real_function;
     int is_pmc;
@@ -1079,7 +1114,7 @@
 */
 
 static PMC*
-mmd_search_default(PARROT_INTERP, STRING *meth, PMC *arg_tuple)
+mmd_search_default(PARROT_INTERP, NOTNULL(STRING *meth), NOTNULL(PMC 
*arg_tuple))
 {
     INTVAL n;
 
@@ -1134,8 +1169,8 @@
 */
 
 static void
-mmd_search_classes(PARROT_INTERP, STRING *meth, PMC *arg_tuple,
-        PMC *cl, INTVAL start_at_parent)
+mmd_search_classes(PARROT_INTERP, NOTNULL(STRING *meth),
+        NOTNULL(PMC *arg_tuple), NOTNULL(PMC *cl), INTVAL start_at_parent)
 {
     INTVAL type1;
 
@@ -1199,7 +1234,7 @@
 */
 
 static PMC*
-mmd_cvt_to_types(PARROT_INTERP, PMC *multi_sig)
+mmd_cvt_to_types(PARROT_INTERP, NOTNULL(PMC *multi_sig))
 {
     const INTVAL n = VTABLE_elements(interp, multi_sig);
     INTVAL i;
@@ -1229,7 +1264,7 @@
 #define MMD_BIG_DISTANCE 0x7fff
 
 static UINTVAL
-mmd_distance(PARROT_INTERP, NOTNULL(PMC *pmc), PMC *arg_tuple)
+mmd_distance(PARROT_INTERP, NOTNULL(PMC *pmc), NOTNULL(PMC *arg_tuple))
 {
     PMC *multi_sig, *mro;
     INTVAL i, n, args, dist, j, m;
@@ -1334,7 +1369,7 @@
 */
 
 static void
-mmd_sort_candidates(PARROT_INTERP, PMC *arg_tuple, PMC *cl)
+mmd_sort_candidates(PARROT_INTERP, NOTNULL(PMC *arg_tuple), NOTNULL(PMC *cl))
 {
     INTVAL i;
     PMC *nci;
@@ -1399,7 +1434,7 @@
 */
 
 static PMC*
-mmd_search_scopes(PARROT_INTERP, STRING *meth)
+mmd_search_scopes(PARROT_INTERP, NOTNULL(STRING *meth))
 {
     PMC * const candidate_list = pmc_new(interp, enum_class_ResizablePMCArray);
 
@@ -1420,7 +1455,7 @@
 */
 
 static int
-mmd_is_hidden(PARROT_INTERP, PMC *multi, PMC *cl)
+mmd_is_hidden(PARROT_INTERP, NOTNULL(PMC *multi), NOTNULL(PMC *cl))
 {
     /*
      * if the candidate list already has the a sub with the same
@@ -1447,7 +1482,7 @@
 */
 
 static int
-mmd_maybe_candidate(PARROT_INTERP, PMC *pmc, PMC *cl)
+mmd_maybe_candidate(PARROT_INTERP, NOTNULL(PMC *pmc), NOTNULL(PMC *cl))
 {
     INTVAL i, n;
 
@@ -1488,7 +1523,7 @@
 */
 
 static int
-mmd_search_cur_namespace(PARROT_INTERP, STRING *meth, PMC *cl)
+mmd_search_cur_namespace(PARROT_INTERP, NOTNULL(STRING *meth), NOTNULL(PMC 
*cl))
 {
     PMC * const pmc = Parrot_find_global_cur(interp, meth);
 
@@ -1523,7 +1558,7 @@
 */
 
 static void
-mmd_search_builtin(PARROT_INTERP, STRING *meth, PMC *cl)
+mmd_search_builtin(PARROT_INTERP, NOTNULL(STRING *meth), NOTNULL(PMC *cl))
 {
     PMC * const ns = mmd_get_ns(interp);
     PMC * const pmc = Parrot_find_global_n(interp, ns, meth);
@@ -1533,7 +1568,7 @@
 
 
 static PMC *
-mmd_create_builtin_multi_stub(PARROT_INTERP, PMC* ns, INTVAL func_nr)
+mmd_create_builtin_multi_stub(PARROT_INTERP, NOTNULL(PMC* ns), INTVAL func_nr)
 {
     const char * name = Parrot_MMD_method_name(interp, func_nr);
     /* create in constant pool */
@@ -1545,7 +1580,7 @@
 }
 
 static void
-mmd_create_builtin_multi_meth_2(PARROT_INTERP, PMC *ns,
+mmd_create_builtin_multi_meth_2(PARROT_INTERP, NOTNULL(PMC *ns),
         INTVAL func_nr, INTVAL type, INTVAL right, funcptr_t func_ptr)
 {
     const char *short_name;
@@ -1633,7 +1668,7 @@
 }
 
 static void
-mmd_create_builtin_multi_meth(PARROT_INTERP, PMC *ns, INTVAL type,
+mmd_create_builtin_multi_meth(PARROT_INTERP, NOTNULL(PMC *ns), INTVAL type,
         NOTNULL(const MMD_init *entry))
 {
     mmd_create_builtin_multi_meth_2(interp, ns,
@@ -1650,7 +1685,7 @@
 PARROT_API
 void
 Parrot_mmd_register_table(PARROT_INTERP, INTVAL type,
-        const MMD_init *mmd_table, INTVAL n)
+        NOTNULL(const MMD_init *mmd_table), INTVAL n)
 {
     MMD_table * const table = interp->binop_mmd_funcs;
     PMC * const ns = mmd_make_ns(interp);

Modified: trunk/src/objects.c
==============================================================================
--- trunk/src/objects.c (original)
+++ trunk/src/objects.c Sat Jul 14 23:19:53 2007
@@ -25,15 +25,22 @@
 
 /* HEADERIZER BEGIN: static */
 
-static INTVAL attr_str_2_num( PARROT_INTERP, PMC *object, STRING *attr )
-        __attribute__nonnull__(1);
+static INTVAL attr_str_2_num( PARROT_INTERP,
+    NOTNULL(PMC *object),
+    NOTNULL(STRING *attr) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static PMC* C3_merge( PARROT_INTERP, NOTNULL(PMC *merge_list) )
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
-static PMC* class_mro_merge( PARROT_INTERP, PMC *seqs )
-        __attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
+static PMC* class_mro_merge( PARROT_INTERP, NOTNULL(PMC *seqs) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static PMC* create_class_mro( PARROT_INTERP, NOTNULL(PMC *_class) )
         __attribute__nonnull__(1)
@@ -51,7 +58,10 @@
     PMC *sub )
         __attribute__nonnull__(1);
 
-static void do_initcall( PARROT_INTERP, PMC* _class, PMC *object, PMC *init )
+static void do_initcall( PARROT_INTERP,
+    NULLOK(PMC* _class),
+    NULLOK(PMC *object),
+    NULLOK(PMC *init) )
         __attribute__nonnull__(1);
 
 static void fail_if_exist( PARROT_INTERP, NOTNULL(PMC *name) )
@@ -61,9 +71,10 @@
 PARROT_WARN_UNUSED_RESULT
 static PMC * find_method_direct_1( PARROT_INTERP,
     NOTNULL(PMC *_class),
-    STRING *method_name )
+    NOTNULL(STRING *method_name) )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 PARROT_WARN_UNUSED_RESULT
 static PMC* find_vtable_meth_ns( PARROT_INTERP, PMC *ns, INTVAL vtable_index )
@@ -71,15 +82,17 @@
 
 PARROT_WARN_UNUSED_RESULT
 static PMC* get_init_meth( PARROT_INTERP,
-    PMC *_class,
-    STRING *prop_str,
+    NOTNULL(PMC *_class),
+    NOTNULL(STRING *prop_str),
     NOTNULL(STRING **meth_str) )
         __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
         __attribute__nonnull__(4);
 
 static void instantiate_object( PARROT_INTERP,
     NOTNULL(PMC *object),
-    PMC *init )
+    NULLOK(PMC *init) )
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
@@ -90,15 +103,20 @@
         __attribute__nonnull__(1);
 
 PARROT_WARN_UNUSED_RESULT
-static PMC* not_empty( PARROT_INTERP, PMC *seqs )
-        __attribute__nonnull__(1);
+PARROT_CANNOT_RETURN_NULL
+static PMC* not_empty( PARROT_INTERP, NOTNULL(PMC *seqs) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void parrot_class_register( PARROT_INTERP,
-    PMC *name,
-    PMC *new_class,
+    NOTNULL(PMC *name),
+    NOTNULL(PMC *new_class),
     NULLOK(PMC *parent),
-    PMC *mro )
-        __attribute__nonnull__(1);
+    NOTNULL(PMC *mro) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(5);
 
 static void rebuild_attrib_stuff( PARROT_INTERP, NOTNULL(PMC *_class) )
         __attribute__nonnull__(1)
@@ -702,8 +720,8 @@
 */
 
 static void
-parrot_class_register(PARROT_INTERP, PMC *name,
-        PMC *new_class, NULLOK(PMC *parent), PMC *mro)
+parrot_class_register(PARROT_INTERP, NOTNULL(PMC *name),
+        NOTNULL(PMC *new_class), NULLOK(PMC *parent), NOTNULL(PMC *mro))
 {
     VTABLE *new_vtable, *parent_vtable;
     PMC    *vtable_pmc, *ns, *top;
@@ -808,7 +826,8 @@
 
 PARROT_WARN_UNUSED_RESULT
 static PMC*
-get_init_meth(PARROT_INTERP, PMC *_class, STRING *prop_str, NOTNULL(STRING 
**meth_str))
+get_init_meth(PARROT_INTERP, NOTNULL(PMC *_class),
+        NOTNULL(STRING *prop_str), NOTNULL(STRING **meth_str))
 {
     STRING     *meth;
     HashBucket *b;
@@ -841,7 +860,8 @@
 
 
 static void
-do_initcall(PARROT_INTERP, PMC* _class, PMC *object, PMC *init)
+do_initcall(PARROT_INTERP, NULLOK(PMC* _class), NULLOK(PMC *object),
+        NULLOK(PMC *init))
 {
     PMC * const classsearch_array = _class->vtable->mro;
     INTVAL      i, nparents;
@@ -949,20 +969,20 @@
 
 PARROT_API
 void
-Parrot_instantiate_object_init(PARROT_INTERP, PMC *object, PMC *init)
+Parrot_instantiate_object_init(PARROT_INTERP, NOTNULL(PMC *object), 
NOTNULL(PMC *init))
 {
     instantiate_object(interp, object, init);
 }
 
 PARROT_API
 void
-Parrot_instantiate_object(PARROT_INTERP, PMC *object)
+Parrot_instantiate_object(PARROT_INTERP, NOTNULL(PMC *object))
 {
     instantiate_object(interp, object, NULL);
 }
 
 static void
-instantiate_object(PARROT_INTERP, NOTNULL(PMC *object), PMC *init)
+instantiate_object(PARROT_INTERP, NOTNULL(PMC *object), NULLOK(PMC *init))
 {
     SLOTTYPE *new_object_array;
     INTVAL    attrib_count, i;
@@ -1014,8 +1034,9 @@
 
 /* create a list if non-empty lists */
 PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
 static PMC*
-not_empty(PARROT_INTERP, PMC *seqs)
+not_empty(PARROT_INTERP, NOTNULL(PMC *seqs))
 {
     INTVAL i;
     PMC * const nseqs = pmc_new(interp, enum_class_ResizablePMCArray);
@@ -1031,8 +1052,10 @@
 }
 
 /* merge the list if lists */
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
 static PMC*
-class_mro_merge(PARROT_INTERP, PMC *seqs)
+class_mro_merge(PARROT_INTERP, NOTNULL(PMC *seqs))
 {
     /* silence compiler uninit warning */
     PMC *cand = NULL;
@@ -1500,7 +1523,7 @@
 PARROT_WARN_UNUSED_RESULT
 static PMC *
 find_method_direct_1(PARROT_INTERP, NOTNULL(PMC *_class),
-                              STRING *method_name)
+                              NOTNULL(STRING *method_name))
 {
     INTVAL i;
 
@@ -1600,7 +1623,7 @@
 
 PARROT_API
 PMC *
-Parrot_get_attrib_by_num(PARROT_INTERP, PMC *object, INTVAL attrib)
+Parrot_get_attrib_by_num(PARROT_INTERP, NOTNULL(PMC *object), INTVAL attrib)
 {
     /*
      * this is called from ParrotObject's vtable now, so
@@ -1617,7 +1640,7 @@
 }
 
 static INTVAL
-attr_str_2_num(PARROT_INTERP, PMC *object, STRING *attr)
+attr_str_2_num(PARROT_INTERP, NOTNULL(PMC *object), NOTNULL(STRING *attr))
 {
     PMC        *_class, *attr_hash;
     SLOTTYPE   *class_array;
@@ -1695,7 +1718,8 @@
 
 PARROT_API
 void
-Parrot_set_attrib_by_num(PARROT_INTERP, PMC *object, INTVAL attrib, PMC *value)
+Parrot_set_attrib_by_num(PARROT_INTERP, NOTNULL(PMC *object),
+        INTVAL attrib, NOTNULL(PMC *value))
 {
     SLOTTYPE * const attrib_array = PMC_data_typed(object, SLOTTYPE *);
     const INTVAL     attrib_count = PMC_int_val(object);
@@ -1716,7 +1740,8 @@
 
 PARROT_API
 void
-Parrot_set_attrib_by_str(PARROT_INTERP, PMC *object, STRING *attr, PMC *value)
+Parrot_set_attrib_by_str(PARROT_INTERP, NOTNULL(PMC *object),
+        NOTNULL(STRING *attr), NOTNULL(PMC *value))
 {
     Parrot_set_attrib_by_num(interp, object,
         attr_str_2_num(interp, object, attr), value);

Modified: trunk/src/packfile.c
==============================================================================
--- trunk/src/packfile.c        (original)
+++ trunk/src/packfile.c        Sat Jul 14 23:19:53 2007
@@ -109,9 +109,10 @@
 
 static opcode_t * directory_unpack( PARROT_INTERP,
     NOTNULL(PackFile_Segment *segp),
-    opcode_t *cursor )
+    NOTNULL(opcode_t *cursor) )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static PMC* do_1_sub_pragma( PARROT_INTERP,
     NOTNULL(PMC *sub_pmc),
@@ -143,8 +144,9 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
-static void fixup_destroy( PARROT_INTERP, PackFile_Segment *self )
-        __attribute__nonnull__(1);
+static void fixup_destroy( PARROT_INTERP, NOTNULL(PackFile_Segment *self) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static PackFile_Segment * fixup_new(
     SHIM_INTERP,
@@ -216,8 +218,10 @@
         __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
-static INTVAL pf_register_standard_funcs( PARROT_INTERP, PackFile *pf )
-        __attribute__nonnull__(1);
+static INTVAL pf_register_standard_funcs( PARROT_INTERP,
+    NOTNULL(PackFile *pf) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static PMC* run_sub( PARROT_INTERP, NOTNULL(PMC *sub_pmc) )
         __attribute__nonnull__(1)
@@ -225,9 +229,10 @@
 
 static void segment_init(
     NOTNULL(PackFile_Segment *self),
-    PackFile *pf,
+    NOTNULL(PackFile *pf),
     NOTNULL(const char *name) )
         __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
 static void sort_segs( NOTNULL(PackFile_Directory *dir) )
@@ -1170,7 +1175,7 @@
 */
 
 static INTVAL
-pf_register_standard_funcs(PARROT_INTERP, PackFile *pf)
+pf_register_standard_funcs(PARROT_INTERP, NOTNULL(PackFile *pf))
 {
     PackFile_funcs dirf = {
         directory_new,
@@ -1239,12 +1244,13 @@
 
 PARROT_API
 PackFile_Segment *
-PackFile_Segment_new_seg(PARROT_INTERP, NOTNULL(PackFile_Directory *dir), 
UINTVAL type,
-                         const char *name, int add)
+PackFile_Segment_new_seg(PARROT_INTERP, NOTNULL(PackFile_Directory *dir),
+        UINTVAL type, NOTNULL(const char *name), int add)
 {
     PackFile * const pf = dir->base.pf;
     PackFile_Segment_new_func_t f = pf->PackFuncs[type].new_seg;
     PackFile_Segment * const seg = (f)(interp, pf, name, add);
+
     segment_init(seg, pf, name);
     seg->type = type;
     if (add)
@@ -1460,7 +1466,7 @@
 */
 
 static opcode_t *
-directory_unpack(PARROT_INTERP, NOTNULL(PackFile_Segment *segp), opcode_t 
*cursor)
+directory_unpack(PARROT_INTERP, NOTNULL(PackFile_Segment *segp), 
NOTNULL(opcode_t *cursor))
 {
     size_t i;
     PackFile_Directory * const dir = (PackFile_Directory *) segp;
@@ -1736,7 +1742,8 @@
 */
 
 static void
-segment_init(NOTNULL(PackFile_Segment *self), PackFile *pf, NOTNULL(const char 
*name))
+segment_init(NOTNULL(PackFile_Segment *self), NOTNULL(PackFile *pf),
+        NOTNULL(const char *name))
 {
     self->pf          = pf;
     self->type        = PF_UNKNOWN_SEG;
@@ -2547,7 +2554,7 @@
 */
 
 static void
-fixup_destroy(PARROT_INTERP, PackFile_Segment *self)
+fixup_destroy(PARROT_INTERP, NOTNULL(PackFile_Segment *self))
 {
     PackFile_FixupTable * const ft = (PackFile_FixupTable *)self;
     PackFile_FixupTable_clear(interp, ft);

Modified: trunk/src/pic_jit.c
==============================================================================
--- trunk/src/pic_jit.c (original)
+++ trunk/src/pic_jit.c Sat Jul 14 23:19:53 2007
@@ -51,19 +51,28 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
-static int jit_can_compile_sub( PARROT_INTERP, PMC *sub )
-        __attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
+static int jit_can_compile_sub( PARROT_INTERP, NOTNULL(PMC *sub) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
+PARROT_WARN_UNUSED_RESULT
 static int ops_jittable( PARROT_INTERP,
-    PMC *sub,
-    const PMC *sig_results,
+    NOTNULL(PMC *sub),
+    NOTNULL(const PMC *sig_results),
     NOTNULL(PackFile_ByteCode *seg),
-    opcode_t *pc,
-    opcode_t *end,
-    int *flags )
+    NOTNULL(opcode_t *pc),
+    NOTNULL(opcode_t *end),
+    NOTNULL(int *flags) )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(4);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4)
+        __attribute__nonnull__(5)
+        __attribute__nonnull__(6)
+        __attribute__nonnull__(7);
 
+PARROT_WARN_UNUSED_RESULT
 static opcode_t * pic_test_func( PARROT_INTERP,
     INTVAL *sig_bits,
     NOTNULL(void **args) )
@@ -110,6 +119,7 @@
     with -C and -S runcores.
 */
 
+PARROT_WARN_UNUSED_RESULT
 static opcode_t *
 pic_test_func(PARROT_INTERP, SHIM(INTVAL *sig_bits), NOTNULL(void **args))
 {
@@ -123,8 +133,9 @@
 }
 #  endif
 
+PARROT_WARN_UNUSED_RESULT
 static int
-jit_can_compile_sub(PARROT_INTERP, PMC *sub)
+jit_can_compile_sub(PARROT_INTERP, NOTNULL(PMC *sub))
 {
     const jit_arch_info * const info = Parrot_jit_init(interp);
     const jit_arch_regs * const regs = info->regs + JIT_CODE_SUB_REGS_ONLY;
@@ -257,9 +268,11 @@
     return 1;
 }
 
+PARROT_WARN_UNUSED_RESULT
 static int
-ops_jittable(PARROT_INTERP, PMC *sub, const PMC *sig_results,
-        NOTNULL(PackFile_ByteCode *seg), opcode_t *pc, opcode_t *end, int 
*flags)
+ops_jittable(PARROT_INTERP, NOTNULL(PMC *sub), NOTNULL(const PMC *sig_results),
+        NOTNULL(PackFile_ByteCode *seg), NOTNULL(opcode_t *pc),
+        NOTNULL(opcode_t *end), NOTNULL(int *flags))
 {
     while (pc < end) {
         /* special opcodes which are handled, but not marked as JITtable */

Modified: trunk/src/pmc_freeze.c
==============================================================================
--- trunk/src/pmc_freeze.c      (original)
+++ trunk/src/pmc_freeze.c      Sat Jul 14 23:19:53 2007
@@ -244,23 +244,26 @@
 
 PARROT_INLINE
 static int todo_list_seen( PARROT_INTERP,
-    PMC *pmc,
+    NOTNULL(PMC *pmc),
     NOTNULL(visit_info *info),
     NOTNULL(UINTVAL *id) )
         __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
         __attribute__nonnull__(3)
         __attribute__nonnull__(4);
 
 static void visit_loop_next_for_GC( PARROT_INTERP,
     NOTNULL(PMC *current),
-    visit_info *info )
+    NOTNULL(visit_info *info) )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static void visit_loop_todo_list( PARROT_INTERP,
-    PMC *current,
+    NOTNULL(PMC *current),
     NOTNULL(visit_info *info) )
         __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
 static void visit_next_for_GC( PARROT_INTERP,
@@ -277,8 +280,12 @@
         __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
-static void visit_todo_list_thaw( PARROT_INTERP, PMC* old, visit_info* info )
-        __attribute__nonnull__(1);
+static void visit_todo_list_thaw( PARROT_INTERP,
+    NOTNULL(PMC* old),
+    NOTNULL(visit_info* info) )
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 /* HEADERIZER END: static */
 
@@ -1246,7 +1253,7 @@
 
 PARROT_INLINE
 static int
-todo_list_seen(PARROT_INTERP, PMC *pmc, NOTNULL(visit_info *info),
+todo_list_seen(PARROT_INTERP, NOTNULL(PMC *pmc), NOTNULL(visit_info *info),
         NOTNULL(UINTVAL *id))
 {
     HashBucket * const b =
@@ -1331,7 +1338,7 @@
 */
 
 static void
-visit_todo_list_thaw(PARROT_INTERP, PMC* old, visit_info* info)
+visit_todo_list_thaw(PARROT_INTERP, NOTNULL(PMC* old), NOTNULL(visit_info* 
info))
 {
     do_thaw(interp, old, info);
 }
@@ -1347,7 +1354,7 @@
 
 static void
 visit_loop_next_for_GC(PARROT_INTERP, NOTNULL(PMC *current),
-        visit_info *info)
+        NOTNULL(visit_info *info))
 {
     visit_next_for_GC(interp, current, info);
     if (current->pmc_ext) {
@@ -1370,10 +1377,10 @@
 */
 
 static void
-visit_loop_todo_list(PARROT_INTERP, PMC *current,
+visit_loop_todo_list(PARROT_INTERP, NOTNULL(PMC *current),
         NOTNULL(visit_info *info))
 {
-    List *todo = (List *)PMC_data(info->todo);
+    List * const todo = (List *)PMC_data(info->todo);
     PMC *finish_list_pmc;
     int i, n;
     List *finish_list = NULL;   /* gcc -O3 warning */

Modified: trunk/src/stm/backend.c
==============================================================================
--- trunk/src/stm/backend.c     (original)
+++ trunk/src/stm/backend.c     Sat Jul 14 23:19:53 2007
@@ -104,7 +104,9 @@
 static int is_version( NOTNULL(const void *maybe_version) )
         __attribute__nonnull__(1);
 
-static PMC * local_pmc_copy( PARROT_INTERP, PMC * const original )
+PARROT_CANNOT_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
+static PMC * local_pmc_copy( PARROT_INTERP, NULLOK(PMC * const original) )
         __attribute__nonnull__(1);
 
 static void mark_read_record( PARROT_INTERP, NOTNULL(STM_read_record *read) )
@@ -118,11 +120,13 @@
 
 static int merge_transactions( PARROT_INTERP,
     NOTNULL(STM_tx_log *log),
-    STM_tx_log_sub *outer,
-    STM_tx_log_sub *inner,
+    NOTNULL(STM_tx_log_sub *outer),
+    NOTNULL(STM_tx_log_sub *inner),
     int always )
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4);
 
 PARROT_WARN_UNUSED_RESULT
 static void * next_version( NOTNULL(const void *old_version) )
@@ -135,6 +139,7 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
+PARROT_WARN_UNUSED_RESULT
 static int safe_to_clone( PARROT_INTERP, NOTNULL(const PMC * const original) )
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
@@ -373,7 +378,7 @@
  */
 static int
 merge_transactions(PARROT_INTERP, NOTNULL(STM_tx_log *log),
-        STM_tx_log_sub *outer, STM_tx_log_sub *inner, int always)
+        NOTNULL(STM_tx_log_sub *outer), NOTNULL(STM_tx_log_sub *inner), int 
always)
 {
     int i;
     int status;
@@ -1180,6 +1185,7 @@
     return read->value;
 }
 
+PARROT_WARN_UNUSED_RESULT
 static int
 safe_to_clone(PARROT_INTERP, NOTNULL(const PMC * const original))
 {
@@ -1192,8 +1198,10 @@
         return 0;
 }
 
+PARROT_CANNOT_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
 static PMC *
-local_pmc_copy(PARROT_INTERP, PMC * const original)
+local_pmc_copy(PARROT_INTERP, NULLOK(PMC * const original))
 {
     if (PMC_IS_NULL(original))
         return PMCNULL;

Modified: trunk/tools/build/headerizer.pl
==============================================================================
--- trunk/tools/build/headerizer.pl     (original)
+++ trunk/tools/build/headerizer.pl     Sat Jul 14 23:19:53 2007
@@ -162,7 +162,6 @@
     for (@args) {
         /\S+\s+\S+/ || ( $_ eq '...' ) || ( $_ eq 'void' ) || ( $_ =~ 
/(PARROT|NULLOK|SHIM)_INTERP/ )
             or die "Bad args in $proto";
-        s/SHIM\(\s*(\w+.*\w+)\s*\)/$1/e;
     }
 
     my $is_static = 0;
@@ -181,6 +180,7 @@
     };
 }
 
+
 sub attrs_from_args {
     my $func = shift;
     my @args = @_;
@@ -206,6 +206,7 @@
     return @attrs;
 }
 
+
 sub make_function_decls {
     my @funcs = @_;
 

<Prev in Thread] Current Thread [Next in Thread>
  • [svn:parrot] r19886 - in trunk: compilers/imcc config/gen/makefiles include/parrot src src/gc src/io src/stm tools/build, petdance <=