# 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