# New Ticket Created by  Jerry Gay 
# Please include the string:  [perl #45593]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=45593 >


C<make headerizer> keeps our declarations and definitions in line, and
makes sure functions and parameters are decorated appropriately to
improve maintainability.

C<make headerizer> also reports deficiencies in the source, where
decorations are expected but are missing. documentation that describes
headerizer and adding the decorations it expects to see can be found
at docs/dev/headerizer.pod

below is output from C<make headerizer> on r21432. these warnings must
all be cleaned up. it's a good job for somebody with a tiny bit of C
experience (someone who can parse the source and understand, for
example, if a function argument can ever be null, or if a function can
return null, etc.)

~jerry


$ make headerizer
/usr/bin/perl tools/build/headerizer.pl src/string.o src/builtin.o
src/byteorder.o src/charset.o src/core_pmcs.o src/cpu_dep.o
src/datatypes.o src/debug.o src/dynext.o src/embed.o src/encoding.o
src/events.o src/exceptions.o src/exit.o src/extend.o
src/extend_vtable.o src/gc/dod.o src/gc/gc_gms.o src/gc/gc_ims.o
src/gc/memory.o src/gc/register.o src/gc/smallobject.o src/global.o
src/global_setup.o src/hash.o src/headers.o src/hll.o src/inter_call.o
src/inter_cb.o src/inter_create.o src/inter_misc.o src/interpreter.o
src/inter_run.o src/intlist.o src/key.o src/library.o src/list.o
src/longopt.o src/misc.o src/mmd.o src/nci.o src/objects.o
src/packfile.o src/packout.o src/pic_jit.o src/pic.o src/platform.o
src/pmc_freeze.o src/pmc.o src/revision.o src/runops_cores.o
src/spf_render.o src/spf_vtable.o src/stack_common.o src/stacks.o
src/stm/backend.o src/stm/waitlist.o src/string_primitives.o src/sub.o
src/thread.o src/trace.o src/tsq.o src/utils.o src/vtables.o
src/warnings.o src/ops/core_ops.o src/ops/core_ops_switch.o
src/packfile/pf_items.o src/ops/core_ops_cg.o src/ops/core_ops_cgp.o
src/exec.o src/exec_cpu.o src/exec_save.o src/jit.o src/jit_cpu.o
src/jit_debug.o src/jit_debug_xcoff.o src/gc/resources.o
src/charset/ascii.o src/charset/binary.o src/charset/iso-8859-1.o
src/charset/tables.o src/charset/unicode.o src/io/io.o src/io/io_buf.o
src/io/io_layers.o src/io/io_unix.o src/io/io_utf8.o src/io/io_mmap.o
src/io/io_win32.o src/io/io_stdio.o src/io/io_string.o
src/io/io_passdown.o src/pmc/default.o src/pmc/null.o src/pmc/env.o
src/pmc/key.o src/pmc/random.o src/pmc/unmanagedstruct.o
src/pmc/managedstruct.o src/pmc/delegate.o src/pmc/compiler.o
src/pmc/exception.o src/pmc/version.o src/pmc/vtablecache.o
src/pmc/parrotio.o src/pmc/parrotlibrary.o src/pmc/parrotinterpreter.o
src/pmc/parrotthread.o src/pmc/lexpad.o src/pmc/timer.o
src/pmc/pointer.o src/pmc/sub.o src/pmc/closure.o
src/pmc/continuation.o src/pmc/retcontinuation.o
src/pmc/exception_handler.o src/pmc/coroutine.o src/pmc/eval.o
src/pmc/nci.o src/pmc/float.o src/pmc/integer.o src/pmc/bigint.o
src/pmc/complex.o src/pmc/string.o src/pmc/boolean.o src/pmc/ref.o
src/pmc/sharedref.o src/pmc/array.o src/pmc/fixedintegerarray.o
src/pmc/intlist.o src/pmc/iterator.o src/pmc/sarray.o
src/pmc/fixedstringarray.o src/pmc/multiarray.o src/pmc/hash.o
src/pmc/orderedhash.o src/pmc/tqueue.o src/pmc/parrotclass.o
src/pmc/parrotobject.o src/pmc/os.o src/pmc/file.o
src/pmc/addrregistry.o src/pmc/bound_nci.o src/pmc/capture.o
src/pmc/class.o src/pmc/codestring.o src/pmc/deleg_pmc.o
src/pmc/enumerate.o src/pmc/exporter.o src/pmc/fixedbooleanarray.o
src/pmc/fixedfloatarray.o src/pmc/fixedpmcarray.o src/pmc/lexinfo.o
src/pmc/multisub.o src/pmc/namespace.o src/pmc/object.o src/pmc/pair.o
src/pmc/parrotrunningthread.o src/pmc/pccmethod_test.o
src/pmc/pmcproxy.o src/pmc/resizablebooleanarray.o
src/pmc/resizablefloatarray.o src/pmc/resizableintegerarray.o
src/pmc/resizablepmcarray.o src/pmc/resizablestringarray.o
src/pmc/role.o src/pmc/scalar.o src/pmc/slice.o src/pmc/stmlog.o
src/pmc/stmref.o src/pmc/stmvar.o src/pmc/super.o src/pmc/undef.o
src/encodings/fixed_8.o src/encodings/ucs2.o src/encodings/utf16.o
src/encodings/utf8.o compilers/imcc/imcparser.o
compilers/imcc/imclexer.o compilers/imcc/imc.o compilers/imcc/main.o
compilers/imcc/symreg.o compilers/imcc/instructions.o
compilers/imcc/cfg.o compilers/imcc/reg_alloc.o compilers/imcc/sets.o
compilers/imcc/debug.o compilers/imcc/optimizer.o compilers/imcc/pbc.o
compilers/imcc/parser_util.o compilers/imcc/pcc.o src/exec.o
src/packdump.o src/pbc_merge.o
src/exec.o is specified more than once.
Headerization complete.
compilers/imcc/imc.c
    imc_cleanup: "void *yyscanner" isn't protected with NOTNULL or NULLOK
    imc_new_unit: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    imc_open_unit: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
compilers/imcc/imcparser.c
    IMCC_create_itcall_label: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    IMCC_itcall_sub: "SymReg *sub" isn't protected with NOTNULL or NULLOK
    INS_LABEL: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    INS_LABEL: "IMC_Unit *unit" isn't protected with NOTNULL or NULLOK
    INS_LABEL: "SymReg *r0" isn't protected with NOTNULL or NULLOK
    MK_I: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    MK_I: "IMC_Unit *unit" isn't protected with NOTNULL or NULLOK
    add_pcc_named_arg: "const char *name" isn't protected with NOTNULL or NULLOK
    add_pcc_named_arg: "SymReg *value" isn't protected with NOTNULL or NULLOK
    add_pcc_named_param: "SymReg *cur_call" isn't protected with
NOTNULL or NULLOK
    add_pcc_named_param: "const char *name" isn't protected with
NOTNULL or NULLOK
    add_pcc_named_param: "SymReg *value" isn't protected with NOTNULL or NULLOK
    add_pcc_named_result: "SymReg *cur_call" isn't protected with
NOTNULL or NULLOK
    add_pcc_named_result: "const char *name" isn't protected with
NOTNULL or NULLOK
    add_pcc_named_result: "SymReg *value" isn't protected with NOTNULL or NULLOK
    add_pcc_named_return: "SymReg *cur_call" isn't protected with
NOTNULL or NULLOK
    add_pcc_named_return: "const char *name" isn't protected with
NOTNULL or NULLOK
    add_pcc_named_return: "SymReg *value" isn't protected with NOTNULL or NULLOK
    func_ins: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    func_ins: "IMC_Unit *unit" isn't protected with NOTNULL or NULLOK
    func_ins: "SymReg *lhs" isn't protected with NOTNULL or NULLOK
    func_ins: "const char *op" isn't protected with NOTNULL or NULLOK
    func_ins: "SymReg ** r" isn't protected with NOTNULL or NULLOK
    iINDEXFETCH: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    iINDEXFETCH: "IMC_Unit *unit" isn't protected with NOTNULL or NULLOK
    iINDEXFETCH: "SymReg *r0" isn't protected with NOTNULL or NULLOK
    iINDEXFETCH: "SymReg *r1" isn't protected with NOTNULL or NULLOK
    iINDEXFETCH: "SymReg *r2" isn't protected with NOTNULL or NULLOK
    iINDEXSET: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    iINDEXSET: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
    iINDEXSET: "SymReg * r0" isn't protected with NOTNULL or NULLOK
    iINDEXSET: "SymReg * r1" isn't protected with NOTNULL or NULLOK
    iINDEXSET: "SymReg * r2" isn't protected with NOTNULL or NULLOK
    inv_op: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    inv_op: "const char *op" isn't protected with NOTNULL or NULLOK
    mk_pmc_const: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_pmc_const: "IMC_Unit *unit" isn't protected with NOTNULL or NULLOK
    mk_sub_address_fromc: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_sub_address_fromc: "char * name" isn't protected with NOTNULL or NULLOK
    mk_sub_address_u: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_sub_address_u: "char * name" isn't protected with NOTNULL or NULLOK
    set_lexical: "char *name" isn't protected with NOTNULL or NULLOK
compilers/imcc/instructions.c
    _mk_instruction: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    _mk_instruction: "SymReg ** r" isn't protected with NOTNULL or NULLOK
    delete_ins: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    emitb: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_branch_reg: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    move_ins: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
compilers/imcc/main.c
     NOTNULL: "const char * const sourcefile)" isn't protected with
NOTNULL or NULLOK
     NOTNULL: "int *obj_file)" isn't protected with NOTNULL or NULLOK
compilers/imcc/optimizer.c
    IMCC_subst_constants: "IMC_Unit * unit" isn't protected with
NOTNULL or NULLOK
    IMCC_subst_constants: "SymReg **r" isn't protected with NOTNULL or NULLOK
    IMCC_subst_constants_umix: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    IMCC_subst_constants_umix: "IMC_Unit * unit" isn't protected with
NOTNULL or NULLOK
    IMCC_subst_constants_umix: "SymReg **r" isn't protected with
NOTNULL or NULLOK
    branch_cond_loop: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
    branch_cond_loop_swap: "IMC_Unit *unit" isn't protected with
NOTNULL or NULLOK
    branch_cond_loop_swap: "Instruction *branch" isn't protected with
NOTNULL or NULLOK
    branch_cond_loop_swap: "Instruction *start" isn't protected with
NOTNULL or NULLOK
    branch_cond_loop_swap: "Instruction *cond" isn't protected with
NOTNULL or NULLOK
    branch_reorg: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
    constant_propagation: "IMC_Unit * unit" isn't protected with
NOTNULL or NULLOK
    dead_code_remove: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
    eval_ins: "char *op" isn't protected with NOTNULL or NULLOK
    eval_ins: "SymReg **r" isn't protected with NOTNULL or NULLOK
    find_outer: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    get_neg_op: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    strength_reduce: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
    unused_label: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
compilers/imcc/parser_util.c
    IMCC_compile_pasm_s: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    IMCC_compile_pir_s: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    imcc_compile_pasm: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    imcc_compile_pasm_ex: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    imcc_compile_pir: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    imcc_compile_pir_ex: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    multi_keyed: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    str_dup: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    try_find_op: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
    try_find_op: "SymReg ** r" isn't protected with NOTNULL or NULLOK
    var_arg_ins: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
compilers/imcc/pbc.c
    IMCC_string_from_reg: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    add_const_num: "const char *buf" isn't protected with NOTNULL or NULLOK
    create_lexinfo: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    create_lexinfo: "IMC_Unit *unit" isn't protected with NOTNULL or NULLOK
    create_lexinfo: "PMC *sub" isn't protected with NOTNULL or NULLOK
    find_global_label: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    find_outer: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    make_jit_info: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_multi_sig: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    slice_deb: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    verify_signature: "opcode_t *pc" isn't protected with NOTNULL or NULLOK
compilers/imcc/pcc.c
    get_const: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    get_const: "const char *name" isn't protected with NOTNULL or NULLOK
    get_pasm_reg: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_pasm_reg: "const char *name" isn't protected with NOTNULL or NULLOK
    insINS: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    insINS: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
    insINS: "char *name" isn't protected with NOTNULL or NULLOK
    insINS: "SymReg **regs" isn't protected with NOTNULL or NULLOK
    move_regs: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    move_regs: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
    move_regs: "SymReg **dest" isn't protected with NOTNULL or NULLOK
    move_regs: "SymReg **src" isn't protected with NOTNULL or NULLOK
    pcc_get_args: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    pcc_get_args: "IMC_Unit * unit" isn't protected with NOTNULL or NULLOK
    pcc_get_args: "char *op_name" isn't protected with NOTNULL or NULLOK
    pcc_get_args: "SymReg **args" isn't protected with NOTNULL or NULLOK
    pcc_get_args: "int *arg_flags" isn't protected with NOTNULL or NULLOK
    unshift_self: "SymReg *obj" isn't protected with NOTNULL or NULLOK
compilers/imcc/sets.c
    set_copy: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    set_intersec: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    set_make: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    set_make_full: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    set_union: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
compilers/imcc/symreg.c
    _get_sym_typed: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    _mk_address: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    _mk_const: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    _mk_fullname: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    _mk_symreg: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    add_ns: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    add_pcc_cc: "SymReg *arg" isn't protected with NOTNULL or NULLOK
    add_pcc_multi: "SymReg *arg" isn't protected with NOTNULL or NULLOK
    add_pcc_sub: "SymReg * arg" isn't protected with NOTNULL or NULLOK
    dup_sym: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    link_keys: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    mk_address: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    mk_address: "char *name" isn't protected with NOTNULL or NULLOK
    mk_const: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_const_ident: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_fullname: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    mk_label_address: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_local_label: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_pasm_reg: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    mk_pasm_reg: "char *name" isn't protected with NOTNULL or NULLOK
    mk_pcc_sub: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    mk_sub_address: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_sub_label: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    mk_symreg: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    mk_temp_reg: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    push_namespace: "char * name" isn't protected with NOTNULL or NULLOK
    symreg_to_str: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
src/charset/ascii.c
    ascii_get_graphemes: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    charset_cvt_ascii_to_binary: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    charset_cvt_ascii_to_iso_8859_1: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    compose: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    decompose: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    string_from_codepoint: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    to_ascii: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    to_charset: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    to_unicode: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
src/charset/binary.c
    compose: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    decompose: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    string_from_codepoint: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    to_charset: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
src/charset/iso-8859-1.c
    charset_cvt_iso_8859_1_to_ascii: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    compose: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    decompose: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    string_from_codepoint: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    to_charset: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    to_latin1: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    to_unicode: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
src/charset/unicode.c
    compose: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    decompose: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    get_graphemes: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_graphemes_inplace: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    string_from_codepoint: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    to_charset: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
src/dynext.c
    Parrot_init_lib: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    Parrot_init_lib: "PMC *(*load_func)(PARROT_INTERP)" isn't
protected with NOTNULL or NULLOK
    Parrot_init_lib: "void (*init_func)(PARROT_INTERP" isn't protected
with NOTNULL or NULLOK
    run_init_lib: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
src/embed.c
    Parrot_debug: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    Parrot_readbc: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    op_name: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    set_current_sub: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    setup_argv: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    setup_argv: "char ** argv" isn't protected with NOTNULL or NULLOK
src/encoding.c
    Parrot_default_encoding: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    Parrot_find_encoding_converter: "ENCODING *lhs" isn't protected
with NOTNULL or NULLOK
    Parrot_find_encoding_converter: "ENCODING *rhs" isn't protected
with NOTNULL or NULLOK
    Parrot_load_encoding: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    Parrot_new_encoding: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
src/encodings/fixed_8.c
    get_bytes: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    get_bytes_inplace: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_codepoints: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_codepoints_inplace: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    to_encoding: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
src/encodings/ucs2.c
    get_bytes: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    get_bytes_inplace: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_codepoints: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_codepoints_inplace: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    to_encoding: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
src/encodings/utf16.c
    Parrot_encoding_utf16_init: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_bytes: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    get_bytes_inplace: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_codepoints: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_codepoints_inplace: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    to_encoding: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
src/encodings/utf8.c
    Parrot_encoding_utf8_init: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    get_bytes_inplace: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    to_encoding: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    utf8_encode: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    utf8_skip_backward: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    utf8_skip_forward: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
src/exceptions.c
    Parrot_push_action: "PMC *sub" isn't protected with NOTNULL or NULLOK
    create_exception: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    new_c_exception_handler: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    new_c_exception_handler: "Parrot_exception *jb" isn't protected
with NOTNULL or NULLOK
    push_new_c_exception_handler: "Parrot_exception *jb" isn't
protected with NOTNULL or NULLOK
    rethrow_exception: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    throw_exception: "PMC *exception" isn't protected with NOTNULL or NULLOK
src/exec.c
    Parrot_exec: "opcode_t *pc" isn't protected with NOTNULL or NULLOK
    Parrot_exec: "opcode_t *code_start" isn't protected with NOTNULL or NULLOK
    Parrot_exec: "opcode_t *code_end" isn't protected with NOTNULL or NULLOK
    Parrot_exec_add_text_rellocation: "char *nptr" isn't protected
with NOTNULL or NULLOK
    Parrot_exec_add_text_rellocation: "const char *symbol" isn't
protected with NOTNULL or NULLOK
    Parrot_exec_add_text_rellocation_func: "char *nptr" isn't
protected with NOTNULL or NULLOK
    Parrot_exec_add_text_rellocation_func: "const char *func_name"
isn't protected with NOTNULL or NULLOK
    Parrot_exec_add_text_rellocation_reg: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    Parrot_exec_add_text_rellocation_reg: "char *nptr" isn't protected
with NOTNULL or NULLOK
    Parrot_exec_add_text_rellocation_reg: "const char *var" isn't
protected with NOTNULL or NULLOK
src/inter_cb.c
    Parrot_make_cb: "PMC* sub" isn't protected with NOTNULL or NULLOK
    Parrot_make_cb: "PMC* user_data" isn't protected with NOTNULL or NULLOK
    Parrot_make_cb: "STRING *cb_signature" isn't protected with
NOTNULL or NULLOK
    Parrot_run_callback: "PMC* user_data" isn't protected with NOTNULL or NULLOK
    Parrot_run_callback: "char* external_data" isn't protected with
NOTNULL or NULLOK
src/inter_misc.c
    Parrot_compreg: "STRING *type" isn't protected with NOTNULL or NULLOK
    register_nci_method: "void *func" isn't protected with NOTNULL or NULLOK
    register_nci_method: "const char *name" isn't protected with
NOTNULL or NULLOK
    register_nci_method: "const char *proto" isn't protected with
NOTNULL or NULLOK
    register_raw_nci_method_in_ns: "void *func" isn't protected with
NOTNULL or NULLOK
    register_raw_nci_method_in_ns: "const char *name" isn't protected
with NOTNULL or NULLOK
src/packfile.c
    PackFile_find_fixup_entry: "char *name" isn't protected with
NOTNULL or NULLOK
src/stm/waitlist.c
    Parrot_STM_tx_log_alloc: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    Parrot_STM_tx_log_get: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    Parrot_STM_waitlist_add_self: "STM_waitlist *waitlist" isn't
protected with NOTNULL or NULLOK
    Parrot_STM_waitlist_signal: "STM_waitlist *waitlist" isn't
protected with NOTNULL or NULLOK
    alloc_entry: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    get_thread: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL
macro found.
    get_thread_noalloc: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    waitlist_remove: "STM_waitlist *waitlist" isn't protected with
NOTNULL or NULLOK
    waitlist_remove: "struct waitlist_entry *what" isn't protected
with NOTNULL or NULLOK
    waitlist_remove_check: "STM_waitlist *waitlist" isn't protected
with NOTNULL or NULLOK
    waitlist_remove_check: "struct waitlist_entry *what" isn't
protected with NOTNULL or NULLOK
    waitlist_signal_all: "STM_waitlist *list" isn't protected with
NOTNULL or NULLOK
    waitlist_signal_one: "struct waitlist_entry *who" isn't protected
with NOTNULL or NULLOK
src/thread.c
    get_pool: Returns a pointer, but no PARROT_CAN(NOT)_RETURN_NULL macro found.
    make_local_args_copy: "PMC *args" isn't protected with NOTNULL or NULLOK
    mutex_unlock: "void *arg" isn't protected with NOTNULL or NULLOK
    pt_ns_clone: "PMC *dest_ns" isn't protected with NOTNULL or NULLOK
    pt_ns_clone: "PMC *source_ns" isn't protected with NOTNULL or NULLOK
    pt_shared_fixup: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    pt_shared_fixup: "PMC *pmc" isn't protected with NOTNULL or NULLOK
    pt_thread_join: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    pt_thread_run: "PMC* dest_interp" isn't protected with NOTNULL or NULLOK
    pt_thread_run: "PMC* sub" isn't protected with NOTNULL or NULLOK
    pt_thread_run: "PMC *arg" isn't protected with NOTNULL or NULLOK
    pt_thread_run_1: "PMC* dest_interp" isn't protected with NOTNULL or NULLOK
    pt_thread_run_1: "PMC* sub" isn't protected with NOTNULL or NULLOK
    pt_thread_run_1: "PMC *arg" isn't protected with NOTNULL or NULLOK
    pt_thread_run_2: "PMC* dest_interp" isn't protected with NOTNULL or NULLOK
    pt_thread_run_2: "PMC* sub" isn't protected with NOTNULL or NULLOK
    pt_thread_run_2: "PMC *arg" isn't protected with NOTNULL or NULLOK
    pt_thread_run_3: "PMC* dest_interp" isn't protected with NOTNULL or NULLOK
    pt_thread_run_3: "PMC* sub" isn't protected with NOTNULL or NULLOK
    pt_thread_run_3: "PMC *arg" isn't protected with NOTNULL or NULLOK
    pt_thread_wait_with: "Parrot_mutex *mutex" isn't protected with
NOTNULL or NULLOK
    pt_transfer_sub: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    remove_queued_suspend_gc: Returns a pointer, but no
PARROT_CAN(NOT)_RETURN_NULL macro found.
    thread_func: "void *arg" isn't protected with NOTNULL or NULLOK
273 warnings in 192 funcs in 28 C files

Reply via email to