diff --git a/splint02.log b/splint02.log new file mode 100644 index 0000000000..daeed8ebba --- /dev/null +++ b/splint02.log @@ -0,0 +1,881 @@ +/usr/local/bin/perl -MExtUtils::Command -e mkpath /tmp/splint +splint -I./include -I./include/pmc "-Iinclude/pmc" "-Icompilers/ast" +weak +hints +indentspaces 4 +locindentspaces 4 +linelen 999 +bugslimit 1000 -message-stream-stdout +showdeephistory +show-func +show-column -tmpdir /tmp/splint +posix-lib -skip-posix-headers +ansi89-limits +num-struct-fields 255 -show-summary +show-scan +time-dist +cpp-names +ansi-reserved +ansi-reserved-internal -iso-reserved -iso-reserved-internal -include-nest 10 \ + +partial -DNDEBUG \ + $(find src/*.c src/{io,packfile,string}/*.c -type f | grep -v extra_nci_thunks.c | grep -v extend_vtable.c | sort) \ + | grep -v 'Source code error generation point' +Splint 3.1.1 --- 06 Jan 2007 + +Command Line: Setting +hints redundant with current value +Command Line: Setting +showfunc redundant with current value +Command Line: Setting +showcolumn redundant with current value +Command Line: Setting -showsummary redundant with current value +< loading standard library /usr/share/splint/lib/posix.lcd .... > +< preprocessing .... > +< checking src/core_pmcs.c > +include/parrot/multidispatch.h:67:38: Qualifier in used on non-pointer or struct: funcptr_t multi_func_ptr + A declaration uses an invalid annotation. (Use -annotationerror to inhibit warning) +include/parrot/exit.h:48:43: Qualifier in used on non-pointer or struct: exit_handler_f function +include/parrot/vtable.h:962:42: File static variable Parrot_vtable_slot_names declared but not used + A variable is declared but never used. Use /*@unused@*/ in front of declaration to suppress message. (Use -varuse to inhibit warning) +< checking src/datatypes.c > +< checking src/debug.c > +include/parrot/extend.h:75:32: Qualifier in used on non-pointer or struct: void cfunction(Parrot_Interp, void *) +include/parrot/extend.h:77:32: Qualifier in used on non-pointer or struct: void chandler(Parrot_Interp, PMC *, void *) +include/parrot/extend.h:185:35: Qualifier in used on non-pointer or struct: void func(void) +include/parrot/oplib/ops.h:1090:2: Enumerator enum { PARROT_OP_end, PARROT_OP_noop, PARROT_OP_check_events, ..., PARROT_OP_root_new_p_pc_ic } declared with 1071 members (limit is set to 127) + Limit on maximum number of members of an enum is exceeded. (Use -numenummembers to inhibit warning) +src/debug.c:464:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: &dbg_listbreakpoints + Types are incompatible. (Use -type to inhibit warning) +src/debug.c: (in function get_cmd) +src/debug.c:577:9: Assignment of int to unsigned int: l = next - start + To ignore signs in type comparisons use +ignoresigns +src/debug.c:580:20: Operands of < have incompatible types (unsigned int, arbitrary unsigned integral type): i < sizeof((DebCmdList)) / sizeof(DebuggerCmdList) + To ignore type qualifiers in type comparisons use +ignorequals. +src/debug.c:584:17: Assignment of unsigned int to int: found = i +src/debug.c:590:21: Assignment of unsigned int to int: found = i +src/debug.c:595:21: Assignment of unsigned int to int: found = i +src/debug.c: (in function get_uint) +src/debug.c:646:27: Variable result initialized to type unsigned long int, expects unsigned int: strtoul(skip_whitespace(*cmd), &cmdnext, 0) +src/debug.c: (in function PDB_cond) +src/debug.c:1299:5: Assignment of unsigned long int to int: reg_number = get_uint(&command, 0) +src/debug.c: (in function PDB_check_condition) +src/debug.c:1922:13: Operands of >= have incompatible types (unsigned char, UINTVAL): condition->reg >= Parrot_pcc_get_regs_used(interp, ctx, 0) +src/debug.c:1944:13: Operands of >= have incompatible types (unsigned char, UINTVAL): condition->reg >= Parrot_pcc_get_regs_used(interp, ctx, 1) +src/debug.c:1966:13: Operands of >= have incompatible types (unsigned char, UINTVAL): condition->reg >= Parrot_pcc_get_regs_used(interp, ctx, 2) +src/debug.c:1997:13: Operands of >= have incompatible types (unsigned char, UINTVAL): condition->reg >= Parrot_pcc_get_regs_used(interp, ctx, 3) +src/debug.c: (in function PDB_escape) +src/debug.c:2128:5: Assignment of int to UINTVAL: length = length > 20 ? 20 : length +src/debug.c: (in function PDB_disassemble_op) +src/debug.c:2324:21: Buffer overflow possible with sprintf. Recommend using snprintf instead: sprintf + Use of function that may lead to buffer overflow. (Use -bufferoverflowhigh to inhibit warning) +src/debug.c:2516:29: Operands of < have incompatible types (unsigned int, arbitrary unsigned integral type): flag_idx < (sizeof(flag_names) / sizeof(char *)) +src/debug.c: (in function PDB_disassemble) +src/debug.c:2605:9: Assignment of short int to size_t: n = interp->code->op_info_table[*pc]->op_count + To allow arbitrary integral types to match long unsigned, use +longintegral. +src/debug.c: (in function PDB_load_source) +src/debug.c:2886:9: Assignment of int to unsigned long int: dline->number = ++line +src/debug.c:2889:28: Variable n initialized to type short int, expects size_t: interp->code->op_info_table[*PC]->op_count +src/debug.c: (in function PDB_assign) +src/debug.c:2998:5: Assignment of unsigned char to char: reg_type_id = (unsigned char)toupper((unsigned char)command[0]) +src/debug.c:3027:9: Assignment of unsigned long int to INTVAL: (((Parrot_Context *)(((interp)->ctx))->data)->bp.regs_i[(((register_num)))]) = get_ulong(&command, 0) +src/debug.c:3039:75: Function GDB_print_reg expects arg 3 to be int gets UINTVAL: register_num +src/debug.c: (in function PDB_help) +src/debug.c:3242:24: Operands of < have incompatible types (unsigned int, arbitrary unsigned integral type): i < sizeof((DebCmdList)) / sizeof(DebuggerCmdList) +src/debug.c: (in function GDB_print_reg) +src/debug.c:3519:17: Operands of == have incompatible types (char *, char): string == '\0' +src/debug.c: (in function GDB_P) +src/debug.c:3562:5: Assignment of unsigned char to char: reg_type = (unsigned char)toupper((unsigned char)*s) +src/debug.c:3573:29: Variable max_reg initialized to type UINTVAL, expects int: Parrot_pcc_get_regs_used(interp, ((interp)->ctx), t) +< checking src/dynext.c > +< checking src/embed.c > +src/embed.c: (in function Parrot_disassemble) +src/embed.c:882:9: Return value (type INTVAL) ignored: Parrot_io_close_... + Result returned by function call is not used. If this is intended, can cast result to (void) to eliminate message. (Use -retvalother to inhibit warning) +src/embed.c: (in function Parrot_set_configuration_hash_legacy) +src/embed.c:940:9: Function Parrot_str_new_init expects arg 3 to be UINTVAL gets int: length +< checking src/exceptions.c > +< checking src/exit.c > +src/exit.c:41:101: Qualifier in used on non-pointer or struct: exit_handler_f function +< checking src/extend.c > +src/extend.c:344:44: Qualifier in used on non-pointer or struct: void cfunction(Parrot_Interp, void *) +src/extend.c:345:44: Qualifier in used on non-pointer or struct: void chandler(Parrot_Interp, PMC *, void *) +src/extend.c:716:39: Qualifier in used on non-pointer or struct: void func(void) +< checking src/global_setup.c > +src/global_setup.c:31:6: Function Parrot_gbl_register_core_pmcs defined more than once + A function or variable is redefined. One of the declarations should use extern. (Use -redef to inhibit warning) + src/core_pmcs.c:303:1: Previous definition of Parrot_gbl_register_core_pmcs +src/global_setup.c: (in function Parrot_gbl_setup_2) +src/global_setup.c:250:60: Function Parrot_hash_create_sized expects arg 4 to be UINTVAL gets opcode_t: core_ops->op_count +< checking src/hash.c > +src/hash.c: (in function key_hash) +src/hash.c:484:16: Return value type INTVAL does not match declared type size_t: ((PMC *)key)->vtable->hashvalue(interp, (PMC *)key) +src/hash.c: (in function Parrot_hash_thaw) +src/hash.c:706:43: Variable num_entries initialized to type INTVAL, expects size_t: (info)->vtable->shift_integer(interp, info) +src/hash.c:718:38: Variable hashval initialized to type size_t, expects INTVAL: key_hash_STRING(interp, key, hash->seed) +src/hash.c:761:17: Return value (type HashBucket *) ignored: Parrot_hash_put(... +src/hash.c:767:17: Return value (type HashBucket *) ignored: Parrot_hash_put(... +src/hash.c:773:17: Return value (type HashBucket *) ignored: Parrot_hash_put(... +src/hash.c:758:16: Case in switch not PARROT_DATA_TYPE member: enum_hash_int +src/hash.c:764:16: Case in switch not PARROT_DATA_TYPE member: enum_hash_string +src/hash.c:770:16: Case in switch not PARROT_DATA_TYPE member: enum_hash_pmc +src/hash.c: (in function Parrot_hash_freeze) +src/hash.c:808:51: Function expects arg 3 to be INTVAL gets size_t: entries +src/hash.c:831:16: Case in switch not PARROT_DATA_TYPE member: enum_hash_int +src/hash.c:834:16: Case in switch not PARROT_DATA_TYPE member: enum_hash_string +src/hash.c:837:16: Case in switch not PARROT_DATA_TYPE member: enum_hash_pmc +src/hash.c:863:16: Case in switch not PARROT_DATA_TYPE member: enum_hash_int +src/hash.c:866:16: Case in switch not PARROT_DATA_TYPE member: enum_hash_string +src/hash.c:869:16: Case in switch not PARROT_DATA_TYPE member: enum_hash_pmc +src/hash.c: (in function expand_hash) +src/hash.c:956:5: Assignment of int to size_t: offset = (char *)new_mem - (char *)old_mem +src/hash.c: (in function Parrot_hash_size) +src/hash.c:1288:12: Return value type UINTVAL does not match declared type INTVAL: hash->entries +src/hash.c: (in function Parrot_hash_put) +src/hash.c:1515:61: Function parrot_hash_store_value_in_bucket expects arg 4 to be INTVAL gets size_t: hashval +src/hash.c: (in function Parrot_hash_clone_prunable) +src/hash.c:1634:67: Function parrot_hash_store_value_in_bucket expects arg 4 to be INTVAL gets size_t: hashval +src/hash.c:1668:67: Function parrot_hash_store_value_in_bucket expects arg 4 to be INTVAL gets size_t: hashval +src/hash.c: (in function Parrot_hash_value_from_number) +src/hash.c:2053:32: Variable tmp initialized to type FLOATVAL, expects INTVAL: value +src/hash.c: (in function Parrot_hash_value_to_number) +src/hash.c:2196:13: Assignment of INTVAL to FLOATVAL: ret = tmp +src/hash.c:65:12: File static function hash_compare_cstring declared but not used + A function is declared but not used. Use /*@unused@*/ in front of function header to suppress message. (Use -fcnuse to inhibit warning) + src/hash.c:400:1: Definition of hash_compare_cstring +src/hash.c:74:12: File static function hash_compare_int declared but not used + src/hash.c:454:1: Definition of hash_compare_int +src/hash.c:89:12: File static function hash_compare_pointer declared but not used + src/hash.c:344:1: Definition of hash_compare_pointer +< checking src/hll.c > +src/hll.c: (in function Parrot_hll_init_HLL) +src/hll.c:116:5: Return value (type INTVAL) ignored: Parrot_hll_regis... +< checking src/install_config.c > +include/parrot/api.h:22:6: Function Parrot_confess defined more than once + src/exceptions.c:563:1: Previous definition of Parrot_confess +src/install_config.c: (in function Parrot_get_config_hash_length) +src/install_config.c:3464:18: Return value type size_t does not match declared type int: sizeof((parrot_config)) +src/install_config.c: (in function Parrot_set_config_hash) +src/install_config.c:3474:78: Function Parrot_api_pmc_deserialize_bytes expects arg 3 to be Parrot_Int gets size_t: sizeof((parrot_config)) +< checking src/io/api.c > +src/io/api.c: (in function Parrot_io_parse_open_flags) +src/io/api.c:83:5: Assignment of UINTVAL to INTVAL: mode_len = Parrot_str_byte_length(interp, mode_str) +src/io/api.c:86:26: Variable s initialized to type UINTVAL, expects INTVAL: ((mode_str)->encoding)->ord((interp), (mode_str), (i)) +src/io/api.c: (in function Parrot_io_fdopen) +src/io/api.c:271:9: Return value (type INTVAL) ignored: Parrot_io_setlin... +src/io/api.c: (in function Parrot_io_close_handle) +src/io/api.c:364:9: Undocumented modification of *(interp->const_cstring_table[47]) possible from call to Parrot_pcc_invoke_method_from_c_args: Parrot_pcc_invoke_method_from_c_args(interp, pmc, (interp)->const_cstring_table[47], "->I", &result) + An externally-visible object is modified by a function, but not listed in its modifies clause. (Use -mods to inhibit warning) +src/io/api.c: (in function Parrot_io_is_closed) +src/io/api.c:394:9: Undocumented modification of *(interp->const_cstring_table[48]) possible from call to Parrot_pcc_invoke_method_from_c_args: Parrot_pcc_invoke_method_from_c_args(interp, pmc, (interp)->const_cstring_table[48], "->I", &result) +src/io/api.c: (in function Parrot_io_flush_handle) +src/io/api.c:424:9: Undocumented modification of *(interp->const_cstring_table[49]) possible from call to Parrot_pcc_invoke_method_from_c_args: Parrot_pcc_invoke_method_from_c_args(interp, pmc, (interp)->const_cstring_table[49], "->") +src/io/api.c: (in function Parrot_io_reads) +src/io/api.c:525:13: Assignment of INTVAL to UINTVAL: result->strlen = bounds.chars +src/io/api.c:530:72: Function Parrot_io_read_buffer expects arg 4 to be size_t gets INTVAL: needed +src/io/api.c:529:36: Variable rest_read initialized to type size_t, expects INTVAL: Parrot_io_read_buffer(interp, pmc, result->strstart + bytes_read, needed) +src/io/api.c:543:17: Return value (type INTVAL) ignored: encoding->partia... +src/io/api.c:567:34: Variable read_length initialized to type size_t, expects INTVAL: length +src/io/api.c:568:40: Variable orig_length initialized to type UINTVAL, expects INTVAL: Parrot_str_byte_length(interp, string_orig) +src/io/api.c:584:9: Undocumented modification of *(interp->const_cstring_table[50]) possible from call to Parrot_pcc_invoke_method_from_c_args: Parrot_pcc_invoke_method_from_c_args(interp, pmc, (interp)->const_cstring_table[50], "I->S", length, &result) +src/io/api.c: (in function Parrot_io_readline) +src/io/api.c:610:27: Variable ignored declared but not used +src/io/api.c:630:9: Assignment of UINTVAL to INTVAL: orig_length = Parrot_str_byte_length(interp, result) +src/io/api.c:648:9: Undocumented modification of *(interp->const_cstring_table[51]) possible from call to Parrot_pcc_invoke_method_from_c_args: Parrot_pcc_invoke_method_from_c_args(interp, pmc, (interp)->const_cstring_table[51], "->S", &result) +src/io/api.c: (in function Parrot_io_peek) +src/io/api.c:758:38: Function Parrot_str_chr expects arg 2 to be UINTVAL gets INTVAL: c +src/io/api.c: (in function Parrot_io_eof) +src/io/api.c:797:5: Undocumented modification of *(interp->const_cstring_table[52]) possible from call to Parrot_pcc_invoke_method_from_c_args: Parrot_pcc_invoke_method_from_c_args(interp, pmc, (interp)->const_cstring_table[52], "->I", &result) +src/io/api.c: (in function Parrot_io_putps) +src/io/api.c:869:9: Assignment of size_t to INTVAL: result = Parrot_io_write_buffer(interp, pmc, s) +src/io/api.c:872:9: Undocumented modification of *(interp->const_cstring_table[53]) possible from call to Parrot_pcc_invoke_method_from_c_args: Parrot_pcc_invoke_method_from_c_args(interp, pmc, (interp)->const_cstring_table[53], "S->I", s, &result) +src/io/api.c: (in function Parrot_io_pprintf) +src/io/api.c:931:5: Assignment of size_t to INTVAL: ret = Parrot_io_write(interp, os_handle, str->strstart, str->bufused) +src/io/api.c: (in function Parrot_io_make_offset) +src/io/api.c:1142:12: Return value type INTVAL does not match declared type PIOOFF_T: offset +src/io/api.c: (in function Parrot_io_make_offset_pmc) +src/io/api.c:1180:12: Return value type INTVAL does not match declared type PIOOFF_T: (pmc)->vtable->get_integer(interp, pmc) +< checking src/io/buffer.c > +src/io/buffer.c: (in function Parrot_io_init_buffer) +src/io/buffer.c:52:9: Return value (type INTVAL) ignored: Parrot_io_setlin... +src/io/buffer.c: (in function Parrot_io_setbuf) +src/io/buffer.c:82:9: Return value (type INTVAL) ignored: Parrot_io_flush_... +src/io/buffer.c:91:21: Function Parrot_io_set_buffer_size expects arg 3 to be size_t gets INTVAL: Parrot_io_getblksize((Parrot_io_get_os_handle(interp, filehandle))) +src/io/buffer.c: (in function Parrot_io_flush_buffer) +src/io/buffer.c:191:30: Variable to_write initialized to type int, expects size_t: buffer_next - buffer_start +src/io/buffer.c: (in function Parrot_io_read_buffer) +src/io/buffer.c:284:9: Return value (type INTVAL) ignored: Parrot_io_flush_... +src/io/buffer.c:293:30: Variable avail initialized to type int, expects size_t: buffer_end - buffer_next +src/io/buffer.c: (in function Parrot_io_peek_buffer) +src/io/buffer.c:391:9: Return value (type INTVAL) ignored: Parrot_io_flush_... +src/io/buffer.c: (in function Parrot_io_readline_buffer) +src/io/buffer.c:445:9: Return value (type INTVAL) ignored: Parrot_io_flush_... +src/io/buffer.c:473:36: Variable buffer_size initialized to type int, expects size_t: buffer_end - buffer_next +src/io/buffer.c:479:9: Assignment of int to UINTVAL: bounds.bytes = buffer_end - buffer_next +src/io/buffer.c:483:9: Return value (type INTVAL) ignored: encoding->partia... +src/io/buffer.c:522:9: Assignment of size_t to INTVAL: got = Parrot_io_fill_readbuf(interp, filehandle) +src/io/buffer.c:560:13: Return value (type INTVAL) ignored: encoding->partia... +src/io/buffer.c:580:61: Function memmove expects arg 3 to be size_t gets INTVAL: got +src/io/buffer.c: (in function Parrot_io_write_buffer) +src/io/buffer.c:656:13: Return value (type PIOOFF_T) ignored: Parrot_io_seek((... +src/io/buffer.c:703:9: Return value (type INTVAL) ignored: Parrot_io_flush_... +src/io/buffer.c:721:35: Variable diff initialized to type int, expects unsigned int: (int)(len - avail) +src/io/buffer.c:727:9: Return value (type INTVAL) ignored: Parrot_io_flush_... +src/io/buffer.c: (in function Parrot_io_seek_buffer) +src/io/buffer.c:794:5: Return value (type INTVAL) ignored: Parrot_io_flush_... +< checking src/io/core.c > +< checking src/io/filehandle.c > +src/io/filehandle.c: (in function Parrot_io_close_filehandle) +src/io/filehandle.c:541:5: Return value (type INTVAL) ignored: Parrot_io_flush_... +src/io/filehandle.c:542:5: Return value (type INTVAL) ignored: Parrot_io_flush(... +src/io/filehandle.c: (in function Parrot_io_flush_filehandle) +src/io/filehandle.c:603:5: Return value (type INTVAL) ignored: Parrot_io_flush_... +src/io/filehandle.c:604:5: Return value (type INTVAL) ignored: Parrot_io_flush(... +< checking src/io/socket_api.c > +src/io/socket_api.c: (in function Parrot_io_recv_handle) +src/io/socket_api.c:164:5: Assignment of INTVAL to UINTVAL: res->bufused = received +src/io/socket_api.c:165:5: Assignment of INTVAL to UINTVAL: res->strlen = received +< checking src/key.c > +src/key.c: (in function Parrot_key_type) +src/key.c:208:12: Return value type Parrot_UInt does not match declared type INTVAL: (((key)->flags) & KEY_type_FLAGS) & ~KEY_register_FLAG +< checking src/library.c > +src/library.c: (in function is_abs_path) +src/library.c:352:5: Assignment of UINTVAL to INTVAL: c = ((file)->encoding)->ord((interp), (file), (0)) +src/library.c: (in function path_guarantee_trailing_separator) +src/library.c:442:40: Function Parrot_str_chr expects arg 2 to be UINTVAL gets int: path_separator +src/library.c: (in function parrot_split_path_ext) +src/library.c:818:24: Variable len initialized to type UINTVAL, expects INTVAL: ((in) ? (in)->strlen : 0U) +src/library.c:33:17: File static function cnv_to_win32_filesep declared but not used +< checking src/list.c > +< checking src/longopt.c > +< checking src/misc.c > +src/misc.c: (in function Parrot_vsprintf_s) +src/misc.c:66:5: Assignment of va_list to void *: obj.data = (args) + Underlying types match, but va_list is an abstract type that is not accessible here. +src/misc.c: (in function Parrot_secret_snprintf) +src/misc.c:269:14: Use vsnprintf instead: vsprintf +src/misc.c:269:14: Undocumented modification of buffer possible from call to vsprintf: vsprintf(buffer, format, ap) +< checking src/multidispatch.c > +src/multidispatch.c: (in function mmd_distance) +src/multidispatch.c:747:12: Return value type INTVAL does not match declared type UINTVAL: dist +src/multidispatch.c: (in function Parrot_mmd_sort_candidates) +src/multidispatch.c:775:28: Variable d initialized to type UINTVAL, expects INTVAL: mmd_distance(interp, pmc, arg_tuple) +src/multidispatch.c:1019:87: Qualifier in used on non-pointer or struct: funcptr_t multi_func_ptr +src/multidispatch.c: (in function mmd_cache_key_from_values) +src/multidispatch.c:1138:31: Variable name_len initialized to type arbitrary unsigned integral type, expects INTVAL: name ? strlen(name) + 1 : 0 +src/multidispatch.c:1139:31: Variable id_size initialized to type long int, expects size_t: num_values * sizeof(INTVAL) + name_len +src/multidispatch.c:1140:84: Function Parrot_gc_allocate_memory_chunk expects arg 2 to be size_t gets long int: (num_values + name_len) * sizeof(INTVAL) +src/multidispatch.c: (in function mmd_cache_key_from_types) +src/multidispatch.c:1239:31: Variable name_len initialized to type arbitrary unsigned integral type, expects INTVAL: name ? strlen(name) + 1 : 0 +src/multidispatch.c:1240:31: Variable id_size initialized to type long int, expects size_t: num_types * sizeof(INTVAL) + name_len +src/multidispatch.c:1241:84: Function Parrot_gc_allocate_memory_chunk expects arg 2 to be size_t gets long int: (num_types + name_len) * sizeof(INTVAL) +< checking src/namespace.c > +< checking src/nci_test.c > +src/nci_test.c:147:8: Variable int_cb_D4 redefined + src/nci_test.c:138:10: Previous definition of int_cb_D4 +src/nci_test.c:148:8: Variable nci_dlvar_char redefined + src/nci_test.c:139:10: Previous definition of nci_dlvar_char +src/nci_test.c:149:8: Variable nci_dlvar_short redefined + src/nci_test.c:140:10: Previous definition of nci_dlvar_short +src/nci_test.c:150:8: Variable nci_dlvar_int redefined + src/nci_test.c:141:10: Previous definition of nci_dlvar_int +src/nci_test.c:151:8: Variable nci_dlvar_long redefined + src/nci_test.c:142:10: Previous definition of nci_dlvar_long +src/nci_test.c:152:8: Variable nci_dlvar_float redefined + src/nci_test.c:143:10: Previous definition of nci_dlvar_float +src/nci_test.c:153:8: Variable nci_dlvar_double redefined + src/nci_test.c:144:10: Previous definition of nci_dlvar_double +src/nci_test.c:154:8: Variable nci_dlvar_cstring redefined + src/nci_test.c:145:10: Previous definition of nci_dlvar_cstring +src/nci_test.c: (in function nci_pi) +src/nci_test.c:684:18: Struct tag struct yt defined more than once + src/nci_test.c:668:18: Previous definition of struct yt +src/nci_test.c:686:14: Struct tag struct xt defined more than once + src/nci_test.c:670:14: Previous definition of struct xt +src/nci_test.c:705:18: Struct tag struct yt defined more than once + src/nci_test.c:668:18: Previous definition of struct yt +src/nci_test.c:706:14: Struct tag struct xt defined more than once + src/nci_test.c:670:14: Previous definition of struct xt +src/nci_test.c: (in function nci_ttt) +src/nci_test.c:1162:5: Buffer overflow possible with sprintf. Recommend using snprintf instead: sprintf +< checking src/null_config.c > +src/null_config.c:13:5: Function Parrot_set_config_hash defined more than once + src/install_config.c:3476:1: Previous definition of Parrot_set_config_hash +src/null_config.c:14:23: Function Parrot_get_config_hash_bytes defined more than once + src/install_config.c:3459:1: Previous definition of Parrot_get_config_hash_bytes +src/null_config.c:15:5: Function Parrot_get_config_hash_length defined more than once + src/install_config.c:3465:1: Previous definition of Parrot_get_config_hash_length +src/null_config.c:22:1: Function Parrot_get_config_hash_bytes defined more than once + src/install_config.c:3459:1: Previous definition of Parrot_get_config_hash_bytes +src/null_config.c:28:1: Function Parrot_get_config_hash_length defined more than once + src/install_config.c:3465:1: Previous definition of Parrot_get_config_hash_length +src/null_config.c: (in function Parrot_get_config_hash_length) +src/null_config.c:30:18: Return value type size_t does not match declared type int: sizeof((parrot_config)) +src/null_config.c:34:1: Function Parrot_set_config_hash defined more than once + src/install_config.c:3476:1: Previous definition of Parrot_set_config_hash +src/null_config.c: (in function Parrot_set_config_hash) +src/null_config.c:40:78: Function Parrot_api_pmc_deserialize_bytes expects arg 3 to be Parrot_Int gets size_t: sizeof((parrot_config)) +< checking src/oo.c > +src/oo.c: (in function invalidate_all_caches) +src/oo.c:854:40: Function invalidate_type_caches expects arg 2 to be UINTVAL gets int: i +src/oo.c: (in function Parrot_find_method_with_cache) +src/oo.c:989:5: Assignment of INTVAL to UINTVAL: type = _class->vtable->base_type +src/oo.c:38:13: File static function debug_trace_find_meth declared but not used +< checking src/packfile/api.c > +include/parrot/embed.h:30:1: Function Parrot_x_exit defined more than once + src/exit.c:145:1: Previous definition of Parrot_x_exit +src/packfile/api.c: (in function sub_pragma) +src/packfile/api.c:606:27: Variable pragmas initialized to type Parrot_UInt, expects int: ((sub_pmc)->flags) & SUB_FLAG_PF_MASK & ~SUB_FLAG_IS_OUTER +src/packfile/api.c: (in function do_1_sub_pragma) +src/packfile/api.c:702:13: Undocumented modification of interp->resume_flag: interp->resume_flag = RESUME_INITIAL +src/packfile/api.c:703:13: Undocumented modification of interp->lo_var_ptr: interp->lo_var_ptr = lo_var_ptr +src/packfile/api.c:711:13: Return value (type PMC *) ignored: run_sub(interp, ... +src/packfile/api.c:714:13: Undocumented modification of interp->resume_flag: interp->resume_flag = RESUME_INITIAL +src/packfile/api.c:725:13: Return value (type PMC *) ignored: run_sub(interp, ... +src/packfile/api.c:736:13: Return value (type PMC *) ignored: run_sub(interp, ... +src/packfile/api.c:737:13: Undocumented modification of interp->resume_flag: interp->resume_flag = RESUME_INITIAL +src/packfile/api.c: (in function find_const_iter) +src/packfile/api.c:816:9: Return value (type INTVAL) ignored: PackFile_map_seg... +src/packfile/api.c: (in function mark_const_subs) +src/packfile/api.c:862:9: Return value (type INTVAL) ignored: PackFile_map_seg... +src/packfile/api.c: (in function do_sub_pragmas) +src/packfile/api.c:949:17: Assignment of int to size_t: interp->resume_offset = (ptr - main_attrs->seg->base.data) +src/packfile/api.c: (in function PackFile_unpack) +src/packfile/api.c:1152:26: Undocumented modification of packed possible from call to PF_fetch_opcode (through alias cursor): PF_fetch_opcode(self, &cursor) +src/packfile/api.c:1161:15: Undocumented modification of packed possible from call to PF_fetch_opcode (through alias cursor): PF_fetch_opcode(self, &cursor) +src/packfile/api.c:1162:15: Undocumented modification of packed possible from call to PF_fetch_opcode (through alias cursor): PF_fetch_opcode(self, &cursor) +src/packfile/api.c:1163:15: Undocumented modification of packed possible from call to PF_fetch_opcode (through alias cursor): PF_fetch_opcode(self, &cursor) +src/packfile/api.c:1166:5: Assignment of long int to size_t: self->directory.base.file_offset = (INTVAL)cursor - (INTVAL)self->src +src/packfile/api.c: (in function PackFile_set_header) +src/packfile/api.c:1320:5: Assignment of size_t to unsigned char: header->wordsize = sizeof(opcode_t) + To allow arbitrary integral types to match any integral type, use +matchanyintegral. +src/packfile/api.c: (in function default_unpack) +src/packfile/api.c:1466:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:1466:5: Assignment of opcode_t to size_t: self->op_count = PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:1467:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:1468:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:1469:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:1469:5: Assignment of opcode_t to size_t: self->size = PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:1499:29: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c: (in function pf_register_standard_funcs) +src/packfile/api.c:1579:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: directory_new +src/packfile/api.c:1579:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but null in assigned function: directory_new +src/packfile/api.c:1579:9: Function types are inconsistent. Parameter 4 is implicitly non-null, but null in assigned function: directory_new +src/packfile/api.c:1580:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: directory_destroy +src/packfile/api.c:1580:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: directory_destroy +src/packfile/api.c:1581:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: directory_packed_size +src/packfile/api.c:1581:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: directory_packed_size +src/packfile/api.c:1582:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: directory_pack +src/packfile/api.c:1582:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: directory_pack +src/packfile/api.c:1582:9: Function types are inconsistent. Parameter 3 is unknown, but allocated in assigned function: directory_pack +src/packfile/api.c:1582:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: directory_pack +src/packfile/api.c:1583:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: directory_unpack +src/packfile/api.c:1583:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: directory_unpack +src/packfile/api.c:1583:9: Function types are inconsistent. Parameter 3 is unknown, but defined in assigned function: directory_unpack +src/packfile/api.c:1583:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: directory_unpack +src/packfile/api.c:1584:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: directory_dump +src/packfile/api.c:1584:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: directory_dump +src/packfile/api.c:1588:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: PackFile_Segment_new +src/packfile/api.c:1588:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but null in assigned function: PackFile_Segment_new +src/packfile/api.c:1588:9: Function types are inconsistent. Parameter 4 is implicitly non-null, but null in assigned function: PackFile_Segment_new +src/packfile/api.c:1593:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: default_dump +src/packfile/api.c:1593:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: default_dump +src/packfile/api.c:1597:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: const_new +src/packfile/api.c:1597:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but null in assigned function: const_new +src/packfile/api.c:1597:9: Function types are inconsistent. Parameter 4 is implicitly non-null, but null in assigned function: const_new +src/packfile/api.c:1598:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: const_destroy +src/packfile/api.c:1598:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: const_destroy +src/packfile/api.c:1599:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: PackFile_ConstTable_pack_size +src/packfile/api.c:1599:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: PackFile_ConstTable_pack_size +src/packfile/api.c:1600:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: PackFile_ConstTable_pack +src/packfile/api.c:1600:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: PackFile_ConstTable_pack +src/packfile/api.c:1600:9: Function types are inconsistent. Parameter 3 is unknown, but defined in assigned function: PackFile_ConstTable_pack +src/packfile/api.c:1600:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: PackFile_ConstTable_pack +src/packfile/api.c:1601:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: PackFile_ConstTable_unpack +src/packfile/api.c:1601:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: PackFile_ConstTable_unpack +src/packfile/api.c:1601:9: Function types are inconsistent. Parameter 3 is unknown, but defined in assigned function: PackFile_ConstTable_unpack +src/packfile/api.c:1601:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: PackFile_ConstTable_unpack +src/packfile/api.c:1602:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: default_dump +src/packfile/api.c:1602:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: default_dump +src/packfile/api.c:1606:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: byte_code_new +src/packfile/api.c:1606:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but null in assigned function: byte_code_new +src/packfile/api.c:1606:9: Function types are inconsistent. Parameter 4 is implicitly non-null, but null in assigned function: byte_code_new +src/packfile/api.c:1607:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: byte_code_destroy +src/packfile/api.c:1607:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: byte_code_destroy +src/packfile/api.c:1608:9: Function types are inconsistent. Parameter 1 is defined, but unknown in assigned function: byte_code_packed_size +src/packfile/api.c:1608:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: byte_code_packed_size +src/packfile/api.c:1608:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: byte_code_packed_size +src/packfile/api.c:1609:9: Function types are inconsistent. Parameter 1 is defined, but unknown in assigned function: byte_code_pack +src/packfile/api.c:1609:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: byte_code_pack +src/packfile/api.c:1609:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: byte_code_pack +src/packfile/api.c:1609:9: Function types are inconsistent. Parameter 3 is unknown, but allocated in assigned function: byte_code_pack +src/packfile/api.c:1609:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: byte_code_pack +src/packfile/api.c:1610:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: byte_code_unpack +src/packfile/api.c:1610:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: byte_code_unpack +src/packfile/api.c:1610:9: Function types are inconsistent. Parameter 3 is unknown, but defined in assigned function: byte_code_unpack +src/packfile/api.c:1610:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: byte_code_unpack +src/packfile/api.c:1611:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: default_dump +src/packfile/api.c:1611:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: default_dump +src/packfile/api.c:1615:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: pf_debug_new +src/packfile/api.c:1615:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but null in assigned function: pf_debug_new +src/packfile/api.c:1615:9: Function types are inconsistent. Parameter 4 is implicitly non-null, but null in assigned function: pf_debug_new +src/packfile/api.c:1616:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: pf_debug_destroy +src/packfile/api.c:1616:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: pf_debug_destroy +src/packfile/api.c:1617:9: Function types are inconsistent. Parameter 1 is defined, but unknown in assigned function: pf_debug_packed_size +src/packfile/api.c:1617:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: pf_debug_packed_size +src/packfile/api.c:1617:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: pf_debug_packed_size +src/packfile/api.c:1618:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: pf_debug_pack +src/packfile/api.c:1618:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: pf_debug_pack +src/packfile/api.c:1618:9: Function types are inconsistent. Parameter 3 is unknown, but allocated in assigned function: pf_debug_pack +src/packfile/api.c:1618:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: pf_debug_pack +src/packfile/api.c:1619:9: Function types are inconsistent. Parameter 2 is unknown, but allocated in assigned function: pf_debug_unpack +src/packfile/api.c:1619:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: pf_debug_unpack +src/packfile/api.c:1619:9: Function types are inconsistent. Parameter 3 is unknown, but defined in assigned function: pf_debug_unpack +src/packfile/api.c:1619:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: pf_debug_unpack +src/packfile/api.c:1620:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: pf_debug_dump +src/packfile/api.c:1620:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: pf_debug_dump +src/packfile/api.c:1624:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: PackFile_Annotations_new +src/packfile/api.c:1624:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but null in assigned function: PackFile_Annotations_new +src/packfile/api.c:1624:9: Function types are inconsistent. Parameter 4 is implicitly non-null, but null in assigned function: PackFile_Annotations_new +src/packfile/api.c:1625:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: PackFile_Annotations_destroy +src/packfile/api.c:1625:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: PackFile_Annotations_destroy +src/packfile/api.c:1626:9: Function types are inconsistent. Parameter 1 is defined, but unknown in assigned function: PackFile_Annotations_packed_size +src/packfile/api.c:1626:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: PackFile_Annotations_packed_size +src/packfile/api.c:1626:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: PackFile_Annotations_packed_size +src/packfile/api.c:1627:9: Function types are inconsistent. Parameter 1 is defined, but unknown in assigned function: PackFile_Annotations_pack +src/packfile/api.c:1627:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: PackFile_Annotations_pack +src/packfile/api.c:1627:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: PackFile_Annotations_pack +src/packfile/api.c:1627:9: Function types are inconsistent. Parameter 3 is unknown, but defined in assigned function: PackFile_Annotations_pack +src/packfile/api.c:1627:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: PackFile_Annotations_pack +src/packfile/api.c:1628:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: PackFile_Annotations_unpack +src/packfile/api.c:1628:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: PackFile_Annotations_unpack +src/packfile/api.c:1628:9: Function types are inconsistent. Parameter 3 is unknown, but defined in assigned function: PackFile_Annotations_unpack +src/packfile/api.c:1628:9: Function types are inconsistent. Parameter 3 is implicitly non-null, but notnull in assigned function: PackFile_Annotations_unpack +src/packfile/api.c:1629:9: Function types are inconsistent. Parameter 2 is unknown, but defined in assigned function: PackFile_Annotations_dump +src/packfile/api.c:1629:9: Function types are inconsistent. Parameter 2 is implicitly non-null, but notnull in assigned function: PackFile_Annotations_dump +src/packfile/api.c: (in function directory_unpack) +src/packfile/api.c:2083:25: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(pf, &cursor) +src/packfile/api.c:2083:5: Assignment of opcode_t to size_t: dir->num_segments = PF_fetch_opcode(pf, &cursor) +src/packfile/api.c:2093:24: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(pf, &cursor) +src/packfile/api.c:2093:24: Variable type initialized to type opcode_t, expects UINTVAL: PF_fetch_opcode(pf, &cursor) +src/packfile/api.c:2102:28: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(pf, &cursor) +src/packfile/api.c:2102:9: Assignment of opcode_t to size_t: seg->file_offset = PF_fetch_opcode(pf, &cursor) +src/packfile/api.c:2103:28: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(pf, &cursor) +src/packfile/api.c:2103:9: Assignment of opcode_t to size_t: seg->op_count = PF_fetch_opcode(pf, &cursor) +src/packfile/api.c:2122:9: Assignment of opcode_t to size_t: opcode = PF_fetch_opcode(pf, &pos) +src/packfile/api.c:2153:28: Variable tmp initialized to type opcode_t, expects size_t: PF_fetch_opcode(pf, &cursor) +src/packfile/api.c:2170:17: Assignment of int to size_t: delta = (pos - cursor) * 2 +src/packfile/api.c:2177:13: Assignment of int to size_t: delta = pos - cursor +src/packfile/api.c: (in function directory_pack) +src/packfile/api.c:2357:5: Assignment of size_t to opcode_t: *cursor++ = num_segs +src/packfile/api.c:2362:9: Assignment of UINTVAL to opcode_t: *cursor++ = seg->type +src/packfile/api.c:2364:9: Assignment of size_t to opcode_t: *cursor++ = seg->file_offset +src/packfile/api.c:2365:9: Assignment of size_t to opcode_t: *cursor++ = seg->op_count +src/packfile/api.c: (in function default_pack) +src/packfile/api.c:2513:5: Assignment of size_t to opcode_t: *dest++ = self->op_count +src/packfile/api.c:2516:5: Assignment of size_t to opcode_t: *dest++ = self->size +src/packfile/api.c: (in function byte_code_destroy) +src/packfile/api.c:2548:47: Function Parrot_gc_free_memory_chunk expects arg 2 to be void * gets op_func_t *: (byte_code->op_func_table) +src/packfile/api.c: (in function byte_code_packed_size) +src/packfile/api.c:2627:17: Operands of < have incompatible types (unsigned int, size_t): u < byte_code->n_libdeps +src/packfile/api.c: (in function byte_code_pack) +src/packfile/api.c:2668:5: Assignment of size_t to opcode_t: *cursor++ = byte_code->n_libdeps +src/packfile/api.c:2669:5: Assignment of size_t to opcode_t: *cursor++ = byte_code->op_count +src/packfile/api.c:2672:17: Operands of < have incompatible types (unsigned int, size_t): u < byte_code->n_libdeps +src/packfile/api.c: (in function byte_code_unpack) +src/packfile/api.c:2719:36: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2721:36: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2721:5: Assignment of opcode_t to size_t: byte_code->n_libdeps = PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2725:36: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2725:5: Assignment of opcode_t to size_t: byte_code->op_count = PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2732:36: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2734:137: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (byte_code->op_mapping.n_libs) * sizeof(PackFile_ByteCode_OpMappingEntry) +src/packfile/api.c:2737:17: Operands of < have incompatible types (unsigned int, size_t): u < byte_code->n_libdeps +src/packfile/api.c:2750:40: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2751:40: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2752:40: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2790:41: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2792:110: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (entry->n_ops) * sizeof(opcode_t) +src/packfile/api.c:2794:110: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (entry->n_ops) * sizeof(opcode_t) +src/packfile/api.c:2798:32: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2799:32: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c: (in function pf_debug_packed_size) +src/packfile/api.c:2905:12: Return value type long int does not match declared type size_t: (debug->num_mappings * 2) + 1 +src/packfile/api.c: (in function pf_debug_unpack) +src/packfile/api.c:2977:27: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2980:122: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (debug->num_mappings) * sizeof(PackFile_DebugFilenameMapping) +src/packfile/api.c:2986:39: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2987:39: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(self->pf, &cursor) +src/packfile/api.c:2991:5: Assignment of INTVAL to size_t: str_len = Parrot_str_length(interp, debug->base.name) +src/packfile/api.c:2992:96: Function expects arg 4 to be INTVAL gets arbitrary unsigned integral type: (str_len - 3) +src/packfile/api.c: (in function Parrot_new_debug_seg) +src/packfile/api.c:3079:35: Undocumented modification of *(interp->code->base.dir) possible from call to PackFile_Segment_new_seg (through alias *dir): PackFile_Segment_new_seg(interp, dir, PF_DEBUG_SEG, name, add) +src/packfile/api.c: (in function Parrot_debug_add_mapping) +src/packfile/api.c:3126:31: Function Parrot_gc_reallocate_memory_chunk expects arg 3 to be size_t gets long int: (debug->num_mappings + 1) * sizeof(PackFile_DebugFilenameMapping) +src/packfile/api.c:3141:21: Function memmove expects arg 3 to be size_t gets long int: debug->num_mappings - i +src/packfile/api.c:3151:24: Variable count initialized to type opcode_t, expects size_t: ct->str.const_count +src/packfile/api.c:3168:135: Function Parrot_gc_reallocate_memory_chunk_with_interior_pointers expects arg 3 to be size_t gets long int: (ct->str.const_count) * sizeof(STRING *) +src/packfile/api.c:3169:64: Function Parrot_gc_reallocate_memory_chunk_with_interior_pointers expects arg 4 to be size_t gets long int: (ct->str.const_count - 1) * sizeof(STRING *) +src/packfile/api.c:3174:9: Assignment of size_t to opcode_t: mapping->filename = count +src/packfile/api.c: (in function find_constants) +src/packfile/api.c:3343:115: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (ct->num.const_count) * sizeof(FLOATVAL) +src/packfile/api.c:3346:21: Function memcpy expects arg 3 to be size_t gets long int: ct->num.const_count * sizeof(FLOATVAL) +src/packfile/api.c:3349:115: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (ct->str.const_count) * sizeof(STRING *) +src/packfile/api.c:3352:21: Function memcpy expects arg 3 to be size_t gets long int: ct->str.const_count * sizeof(STRING *) +src/packfile/api.c:3355:112: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (ct->pmc.const_count) * sizeof(PMC *) +src/packfile/api.c:3358:21: Function memcpy expects arg 3 to be size_t gets long int: ct->pmc.const_count * sizeof(PMC *) +src/packfile/api.c:3362:13: Return value (type HashBucket *) ignored: Parrot_hash_put(... +src/packfile/api.c: (in function PackFile_ConstTable_unpack) +src/packfile/api.c:3487:109: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (self->num.const_count) * sizeof(FLOATVAL) +src/packfile/api.c:3494:109: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (self->str.const_count) * sizeof(STRING *) +src/packfile/api.c:3501:106: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (self->pmc.const_count) * sizeof(PMC *) +src/packfile/api.c: (in function PackFile_Annotations_packed_size) +src/packfile/api.c:3680:12: Return value type long int does not match declared type size_t: 1 + self->num_keys * 4 +src/packfile/api.c: (in function PackFile_Annotations_pack) +src/packfile/api.c:3710:9: Assignment of UINTVAL to opcode_t: *cursor++ = key->name +src/packfile/api.c:3712:9: Assignment of UINTVAL to opcode_t: *cursor++ = key->start +src/packfile/api.c:3713:9: Assignment of UINTVAL to opcode_t: *cursor++ = key->len +src/packfile/api.c: (in function PackFile_Annotations_unpack) +src/packfile/api.c:3743:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(seg->pf, &cursor) +src/packfile/api.c:3745:116: Function Parrot_gc_allocate_memory_chunk_with_interior_pointers expects arg 2 to be size_t gets long int: (self->num_keys) * sizeof(PackFile_Annotations_Key) +src/packfile/api.c:3750:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(seg->pf, &cursor) +src/packfile/api.c:3750:9: Assignment of opcode_t to UINTVAL: key->name = PF_fetch_opcode(seg->pf, &cursor) +src/packfile/api.c:3751:41: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(seg->pf, &cursor) +src/packfile/api.c:3752:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(seg->pf, &cursor) +src/packfile/api.c:3752:9: Assignment of opcode_t to UINTVAL: key->start = PF_fetch_opcode(seg->pf, &cursor) +src/packfile/api.c:3753:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(seg->pf, &cursor) +src/packfile/api.c:3753:9: Assignment of opcode_t to UINTVAL: key->len = PF_fetch_opcode(seg->pf, &cursor) +src/packfile/api.c: (in function find_pf_ann_idx) +src/packfile/api.c:3849:33: Variable mid_val initialized to type opcode_t, expects UINTVAL: pfa->base.data[mid * 2 + 0] +src/packfile/api.c:3853:24: Return value type UINTVAL does not match declared type INTVAL: mid +src/packfile/api.c:3863:20: Return value type unsigned long int does not match declared type INTVAL: mid - 1 +src/packfile/api.c: (in function PackFile_Annotations_add_entry) +src/packfile/api.c:3895:35: Variable test_key initialized to type UINTVAL, expects opcode_t: self->keys[i].name +src/packfile/api.c:3905:137: Function Parrot_gc_reallocate_memory_chunk_with_interior_pointers expects arg 3 to be size_t gets long int: (1 + self->num_keys) * sizeof(PackFile_Annotations_Key) +src/packfile/api.c:3906:79: Function Parrot_gc_reallocate_memory_chunk_with_interior_pointers expects arg 4 to be size_t gets long int: (self->num_keys) * sizeof(PackFile_Annotations_Key) +src/packfile/api.c:3908:97: Function Parrot_gc_allocate_memory_chunk expects arg 2 to be size_t gets long int: (1 + self->num_keys) * sizeof(PackFile_Annotations_Key) +src/packfile/api.c:3914:9: Assignment of opcode_t to UINTVAL: self->keys[key_id].name = key +src/packfile/api.c:3933:64: Function find_pf_ann_idx expects arg 3 to be UINTVAL gets opcode_t: offset +src/packfile/api.c:3931:5: Assignment of unsigned long int to INTVAL: idx = self->keys[key_id].len == 0 ? self->keys[key_id].start * 2 : (UINTVAL)(find_pf_ann_idx(self, &self->keys[key_id], offset) + 1) * 2 +src/packfile/api.c: (in function PackFile_Annotations_lookup) +src/packfile/api.c:4003:40: Function find_pf_ann_idx expects arg 3 to be UINTVAL gets opcode_t: offset +src/packfile/api.c: (in function Parrot_load_language) +src/packfile/api.c:4158:5: Return value (type STRING *) ignored: parrot_split_pat... +src/packfile/api.c: (in function Parrot_load_bytecode) +src/packfile/api.c:4245:5: Return value (type STRING *) ignored: parrot_split_pat... +src/packfile/api.c:4269:5: Return value (type STRING *) ignored: parrot_split_pat... +src/packfile/api.c: (in function PackFile_read_pbc) +src/packfile/api.c:4376:29: Variable chunk_size initialized to type INTVAL, expects size_t: program_size > 0 ? program_size : 1024 +src/packfile/api.c:4391:98: Function Parrot_gc_reallocate_memory_chunk expects arg 3 to be size_t gets long int: (program_size + chunk_size) * sizeof(char) +src/packfile/api.c:4398:17: Return value (type INTVAL) ignored: Parrot_io_close(... +src/packfile/api.c:4414:9: Return value (type INTVAL) ignored: Parrot_io_close(... +src/packfile/api.c:4482:9: Return value (type INTVAL) ignored: Parrot_io_close(... +< checking src/packfile/object_serialization.c > +src/packfile/object_serialization.c: (in function Parrot_freeze_pbc) +src/packfile/object_serialization.c:92:14: Undocumented modification of *cursor possible from call to PF_store_buf: PF_store_buf(cursor, image) +src/packfile/object_serialization.c: (in function Parrot_freeze_pbc_size) +src/packfile/object_serialization.c:128:12: Return value type INTVAL does not match declared type UINTVAL: (pmc_result)->vtable->get_integer(interp, pmc_result) +< checking src/packfile/output.c > +src/packfile/output.c: (in function PackFile_pack_size) +src/packfile/output.c:83:12: Return value type size_t does not match declared type opcode_t: size +src/packfile/output.c: (in function update_backref_hash) +src/packfile/output.c:186:70: Function expects arg 4 to be INTVAL gets UINTVAL: idx +src/packfile/output.c:187:13: Return value (type HashBucket *) ignored: Parrot_hash_put(... +src/packfile/output.c:196:70: Function expects arg 4 to be INTVAL gets UINTVAL: idx +src/packfile/output.c:197:13: Return value (type HashBucket *) ignored: Parrot_hash_put(... +< checking src/packfile/pf_items.c > +include/parrot/packfile.h:1085:12: Function PackFile_ConstTable_pack defined more than once + src/packfile/output.c:280:1: Previous definition of PackFile_ConstTable_pack +include/parrot/packfile.h:1094:8: Function PackFile_ConstTable_pack_size defined more than once + src/packfile/output.c:229:1: Previous definition of PackFile_ConstTable_pack_size +include/parrot/packfile.h:1100:5: Function PackFile_ConstTable_rlookup_num defined more than once + src/packfile/output.c:314:1: Previous definition of PackFile_ConstTable_rlookup_num +include/parrot/packfile.h:1121:5: Function PackFile_ConstTable_rlookup_str defined more than once + src/packfile/output.c:343:1: Previous definition of PackFile_ConstTable_rlookup_str +include/parrot/packfile.h:1129:6: Function PackFile_pack defined more than once + src/packfile/output.c:160:1: Previous definition of PackFile_pack +include/parrot/packfile.h:1139:10: Function PackFile_pack_size defined more than once + src/packfile/output.c:84:1: Previous definition of PackFile_pack_size +src/packfile/pf_items.c: (in function cvt_num12_num8) +src/packfile/pf_items.c:305:9: Assignment of int to unsigned char: dest[6] = src[7] == 0xc0 ? 0xf8 : 0xf0 +src/packfile/pf_items.c:309:5: Assignment of int to unsigned char: dest[6] = (expo & 0xff) +src/packfile/pf_items.c:310:5: Assignment of int to unsigned char: dest[7] = (expo & 0x7f00) >> 8 +src/packfile/pf_items.c: (in function cvt_num16_num8) +src/packfile/pf_items.c:528:13: Assignment of int to unsigned char: dest[6] = src[7] == 0xc0 ? 0xf8 : 0xf0 +src/packfile/pf_items.c:532:9: Assignment of int to unsigned char: dest[6] = (expo & 0xff) +src/packfile/pf_items.c:533:9: Assignment of int to unsigned char: dest[7] = (expo & 0x7f00) >> 8 +src/packfile/pf_items.c: (in function PF_store_number) +src/packfile/pf_items.c:1144:29: Variable padded_size initialized to type arbitrary unsigned integral type, expects opcode_t: (sizeof(FLOATVAL) + sizeof(opcode_t) - 1) / sizeof(opcode_t) +src/packfile/pf_items.c: (in function PF_fetch_buf) +src/packfile/pf_items.c:1197:31: Conditional clauses are not of same type: pf->header->wordsize (unsigned char), sizeof(opcode_t) (size_t) +src/packfile/pf_items.c:1198:26: Variable size initialized to type opcode_t, expects size_t: PF_fetch_opcode(pf, cursor) +src/packfile/pf_items.c: (in function PF_store_buf) +src/packfile/pf_items.c:1225:45: Variable wordsize initialized to type size_t, expects int: sizeof(opcode_t) +src/packfile/pf_items.c:1229:5: Assignment of UINTVAL to opcode_t: *cursor++ = s->bufused +src/packfile/pf_items.c: (in function PF_fetch_string) +src/packfile/pf_items.c:1299:40: Conditional clauses are not of same type: pf->header->wordsize (unsigned char), sizeof(opcode_t) (size_t) +src/packfile/pf_items.c:1308:5: Assignment of opcode_t to UINTVAL: encoding_nr = (flag_charset_word >> 8) & 0xFF +src/packfile/pf_items.c:1312:44: Function Parrot_get_encoding expects arg 2 to be INTVAL gets UINTVAL: encoding_nr +src/packfile/pf_items.c: (in function PF_store_string) +src/packfile/pf_items.c:1346:28: Variable padded_size initialized to type UINTVAL, expects opcode_t: s->bufused +src/packfile/pf_items.c:1372:5: Assignment of UINTVAL to opcode_t: *cursor++ = s->bufused +src/packfile/pf_items.c: (in function PF_size_strlen) +src/packfile/pf_items.c:1431:28: Variable padded_size initialized to type UINTVAL, expects opcode_t: len +src/packfile/pf_items.c: (in function PackFile_assign_transforms) +src/packfile/pf_items.c:1530:32: Operands of != have incompatible types (unsigned char, size_t): pf->header->wordsize != sizeof(opcode_t) +src/packfile/byteorder.h:93:1: File static function fetch_iv_be declared but not used + src/packfile/byteorder.h:118:1: Definition of fetch_iv_be +src/packfile/byteorder.h:134:1: File static function fetch_op_be declared but not used + src/packfile/byteorder.h:156:1: Definition of fetch_op_be +src/packfile/byteorder.h:172:1: File static function fetch_op_le declared but not used + src/packfile/byteorder.h:194:1: Definition of fetch_op_le +src/packfile/byteorder.h:324:1: File static function fetch_buf_le_12 declared but not used + src/packfile/byteorder.h:342:1: Definition of fetch_buf_le_12 +src/packfile/byteorder.h:356:1: File static function fetch_buf_be_12 declared but not used + src/packfile/byteorder.h:374:1: Definition of fetch_buf_be_12 +src/packfile/byteorder.h:388:1: File static function fetch_buf_le_16 declared but not used + src/packfile/byteorder.h:410:1: Definition of fetch_buf_le_16 +src/packfile/byteorder.h:460:1: File static function fetch_buf_le_32 declared but not used + src/packfile/byteorder.h:498:1: Definition of fetch_buf_le_32 +src/packfile/byteorder.h:512:1: File static function fetch_buf_be_32 declared but not used + src/packfile/byteorder.h:550:1: Definition of fetch_buf_be_32 +src/packfile/pf_items.c:43:13: File static function cvt_num12_num16 declared but not used +src/packfile/pf_items.c:50:13: File static function cvt_num12_num16_le declared but not used +src/packfile/pf_items.c:64:13: File static function cvt_num12_num8_le declared but not used +src/packfile/pf_items.c:71:13: File static function cvt_num16_num12 declared but not used +src/packfile/pf_items.c:78:13: File static function cvt_num16_num12_be declared but not used +src/packfile/pf_items.c:99:13: File static function cvt_num16_num8_le declared but not used +src/packfile/pf_items.c:106:13: File static function cvt_num8_num12 declared but not used +src/packfile/pf_items.c:113:13: File static function cvt_num8_num12_be declared but not used +src/packfile/pf_items.c:120:13: File static function cvt_num8_num16 declared but not used +src/packfile/pf_items.c:127:13: File static function cvt_num8_num16_be declared but not used +src/packfile/pf_items.c:134:13: File static function cvt_num8_num16_le declared but not used +< checking src/parrot_config.c > +src/parrot_config.c:13:5: Function Parrot_set_config_hash defined more than once + src/install_config.c:3476:1: Previous definition of Parrot_set_config_hash +src/parrot_config.c:14:23: Function Parrot_get_config_hash_bytes defined more than once + src/install_config.c:3459:1: Previous definition of Parrot_get_config_hash_bytes +src/parrot_config.c:15:5: Function Parrot_get_config_hash_length defined more than once + src/install_config.c:3465:1: Previous definition of Parrot_get_config_hash_length +src/parrot_config.c:3457:1: Function Parrot_get_config_hash_bytes defined more than once + src/install_config.c:3459:1: Previous definition of Parrot_get_config_hash_bytes +src/parrot_config.c:3463:1: Function Parrot_get_config_hash_length defined more than once + src/install_config.c:3465:1: Previous definition of Parrot_get_config_hash_length +src/parrot_config.c: (in function Parrot_get_config_hash_length) +src/parrot_config.c:3465:18: Return value type size_t does not match declared type int: sizeof((parrot_config)) +src/parrot_config.c:3469:1: Function Parrot_set_config_hash defined more than once + src/install_config.c:3476:1: Previous definition of Parrot_set_config_hash +src/parrot_config.c: (in function Parrot_set_config_hash) +src/parrot_config.c:3475:78: Function Parrot_api_pmc_deserialize_bytes expects arg 3 to be Parrot_Int gets size_t: sizeof((parrot_config)) +< checking src/pbc_disassemble.c > +src/pbc_disassemble.c:37:5: Enum member enum_DIS_BARE defined more than once + include/parrot/embed.h:22:5: Previous definition of enum_DIS_BARE +src/pbc_disassemble.c:38:5: Enum member enum_DIS_HEADER defined more than once + include/parrot/embed.h:23:5: Previous definition of enum_DIS_HEADER +src/pbc_disassemble.c:39:2: Enum tag enum defined more than once + include/parrot/embed.h:24:2: Previous definition of enum +src/pbc_disassemble.c:39:3: Datatype Parrot_disassemble_options defined more than once + include/parrot/embed.h:24:3: Previous definition of Parrot_disassemble_options +src/pbc_disassemble.c:66:39: Initializer block for options[0].opt_long has 1 element, but declared as longopt_string_t [10]: "--header-only" + Initializer does not define all elements of a declared array. (Use -initallelements to inhibit warning) +src/pbc_disassemble.c:67:39: Initializer block for options[1].opt_long has 1 element, but declared as longopt_string_t [10]: "--help" +src/pbc_disassemble.c:68:39: Initializer block for options[2].opt_long has 1 element, but declared as longopt_string_t [10]: "--bare" +src/pbc_disassemble.c:69:39: Initializer block for options[3].opt_long has 1 element, but declared as longopt_string_t [10]: "--output" +src/pbc_disassemble.c:70:39: Initializer block for options[4].opt_long has 1 element, but declared as longopt_string_t [10]: NULL +src/pbc_disassemble.c: (in function main) +src/pbc_disassemble.c:130:5: Return value (type Parrot_Int) ignored: Parrot_api_strin... +src/pbc_disassemble.c:92:9: Variable debug declared but not used +src/pbc_disassemble.c: (in function show_last_error_and_exit) +src/pbc_disassemble.c:165:9: Return value (type Parrot_Int) ignored: Parrot_api_strin... +src/pbc_disassemble.c:167:9: Return value (type Parrot_Int) ignored: Parrot_api_strin... +src/pbc_disassemble.c:169:9: Return value (type Parrot_Int) ignored: Parrot_api_strin... +src/pbc_disassemble.c:171:9: Return value (type Parrot_Int) ignored: Parrot_api_strin... +< checking src/pmc.c > +src/pmc.c: (in function Parrot_pmc_reuse_noinit) +src/pmc.c:277:13: Return value (type void *) ignored: Parrot_gc_alloca... +src/pmc.c: (in function Parrot_pmc_reuse_by_class) +src/pmc.c:322:13: Return value (type void *) ignored: Parrot_gc_alloca... +src/pmc.c: (in function get_new_pmc_header) +src/pmc.c:459:9: Return value (type void *) ignored: Parrot_gc_alloca... +src/pmc.c: (in function Parrot_pmc_type_does) +src/pmc.c:1106:21: Variable length initialized to type UINTVAL, expects INTVAL: Parrot_str_byte_length(interp, what) +src/pmc.c:1116:9: Assignment of UINTVAL to INTVAL: len = Parrot_str_byte_length(interp, role) +< checking src/pointer_array.c > +< checking src/scheduler.c > +src/scheduler.c: (in function Parrot_cx_check_tasks) +src/scheduler.c:105:9: Undocumented modification of *(interp->scheduler) possible from call to Parrot_cx_handle_tasks: Parrot_cx_handle_tasks(interp, interp->scheduler) +src/scheduler.c: (in function Parrot_cx_delete_handler_local) +src/scheduler.c:525:9: Return value (type PMC *) ignored: (handlers)->vtab... +< checking src/spf_render.c > +src/spf_render.c: (in function handle_flags) +src/spf_render.c:150:49: Function Parrot_str_chopn expects arg 3 to be INTVAL gets UINTVAL: len +src/spf_render.c:177:49: Function Parrot_str_chopn expects arg 3 to be INTVAL gets UINTVAL: len +src/spf_render.c:203:75: Function expects arg 4 to be INTVAL gets unsigned long int: (len - 1) +src/spf_render.c:202:25: Variable ignored declared but not used +src/spf_render.c: (in function gen_sprintf_call) +src/spf_render.c:282:18: Buffer overflow possible with sprintf. Recommend using snprintf instead: sprintf +src/spf_render.c:290:18: Buffer overflow possible with sprintf. Recommend using snprintf instead: sprintf +src/spf_render.c: (in function canonicalize_exponent) +src/spf_render.c:337:10: Assignment of arbitrary unsigned integral type to int: i = len - 1 +src/spf_render.c:341:45: Assignment of int to size_t: non0_pos = i +src/spf_render.c:344:66: Assignment of int to size_t: last_pos = i +src/spf_render.c:347:45: Assignment of int to size_t: sign_pos = i +src/spf_render.c:350:45: Assignment of int to size_t: e_pos = i +src/spf_render.c: (in function Parrot_sprintf_format) +src/spf_render.c:421:50: Function Parrot_str_new_noinit expects arg 2 to be UINTVAL gets long int: pat_len * 2 +src/spf_render.c:550:39: Variable ch initialized to type UINTVAL, expects INTVAL: ((pat)->encoding)->ord((interp), (pat), (i)) +src/spf_render.c:602:33: Assignment of HUGEINTVAL to UINTVAL: info.width = -num +src/spf_render.c:605:33: Assignment of HUGEINTVAL to UINTVAL: info.width = num +src/spf_render.c:773:29: Assignment of UHUGEINTVAL to HUGEINTVAL: sharedint = theuint +< checking src/spf_vtable.c > +src/spf_vtable.c: (in function getuint_va) +src/spf_vtable.c:281:16: Return value type opcode_t does not match declared type UHUGEINTVAL: va_arg(*arg, opcode_t) +src/spf_vtable.c:419:14: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: getchr_va +src/spf_vtable.c:420:32: Function types are inconsistent. Parameter 1 is defined, but unknown in assigned function: getptr_va +src/spf_vtable.c:420:32: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: getptr_va +src/spf_vtable.c:623:14: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: getchr_pmc +src/spf_vtable.c:624:19: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: getstring_pmc +src/spf_vtable.c:624:34: Function types are inconsistent. Parameter 2 is implicitly non-null, but null in assigned function: getptr_pmc +< checking src/string/api.c > +src/string/api.c: (in function Parrot_str_init) +src/string/api.c:136:9: Assignment of INTVAL to UINTVAL: interp->hash_seed = Parrot_util_uint_rand(0) +src/string/api.c:177:9: Return value (type HashBucket *) ignored: Parrot_hash_put(... +src/string/api.c: (in function Parrot_str_copy) +src/string/api.c:420:5: Assignment of Parrot_UInt to int: is_movable = (!(((s)->flags) & (PObj_sysmem_FLAG | b_PObj_on_free_list_FLAG | PObj_constant_FLAG | PObj_external_FLAG))) +src/string/api.c: (in function Parrot_str_new_constant) +src/string/api.c:637:5: Return value (type HashBucket *) ignored: Parrot_hash_put(... +src/string/api.c: (in function Parrot_str_extract_chars) +src/string/api.c:794:5: Return value (type INTVAL) ignored: encoding->partia... +src/string/api.c:805:5: Assignment of INTVAL to UINTVAL: result->strlen = bounds.chars +src/string/api.c: (in function Parrot_str_indexed) +src/string/api.c:864:12: Return value type UINTVAL does not match declared type INTVAL: ((s)->encoding)->ord((interp), (s), (idx)) +src/string/api.c: (in function Parrot_str_length) +src/string/api.c:951:12: Return value type UINTVAL does not match declared type INTVAL: ((s) == NULL) ? 0 : s->strlen +src/string/api.c: (in function string_max_bytes) +src/string/api.c:974:12: Return value type unsigned long int does not match declared type INTVAL: ((s)->encoding)->max_bytes_per_codepoint * nchars +src/string/api.c: (in function Parrot_str_iter_index) +src/string/api.c:1113:16: Return value type UINTVAL does not match declared type INTVAL: start->charpos +src/string/api.c:1130:28: Return value type UINTVAL does not match declared type INTVAL: start->charpos +src/string/api.c: (in function Parrot_str_replace) +src/string/api.c:1228:63: Function expects arg 4 to be INTVAL gets UINTVAL: (true_offset) +src/string/api.c:1232:63: Function expects arg 4 to be INTVAL gets UINTVAL: (true_length) +src/string/api.c:1253:5: Assignment of unsigned long int to INTVAL: buf_size = src->bufused - (end_byte - start_byte) + rep->bufused +src/string/api.c:1256:53: Function Parrot_gc_allocate_string_storage expects arg 3 to be size_t gets INTVAL: buf_size +src/string/api.c:1257:5: Assignment of INTVAL to UINTVAL: dest->bufused = buf_size +src/string/api.c: (in function Parrot_str_bitwise_not) +src/string/api.c:1725:300: Assignment of int to Parrot_UInt1: *dp = 0xFF & ~*curr +src/string/api.c: (in function Parrot_str_boolean) +src/string/api.c:1748:24: Variable len initialized to type UINTVAL, expects INTVAL: ((s) ? (s)->strlen : 0U) +src/string/api.c: (in function Parrot_str_to_int) +src/string/api.c:1885:16: Return value type UINTVAL does not match declared type INTVAL: sign == -1 ? -i : i +src/string/api.c: (in function Parrot_str_to_num) +src/string/api.c:1915:19: Variable m_is_safe name is not a macro variable (it is a local variable), but matches the macro variable namespace prefix "m_" + A variable declared outside a macro body starts with the macrovarprefix. (Use either -macrovarprefixexclude or -namechecks to inhibit warning) +src/string/api.c:1938:17: Assignment of unsigned long int to FLOATVAL: f = c - '0' +src/string/api.c:1939:17: Assignment of unsigned long int to INTVAL: m = c - '0' +src/string/api.c:1951:18: Body of if clause of if statement is empty + If statement has no body. (Use -ifempty to inhibit warning) +src/string/api.c:1973:21: Assignment of INTVAL to FLOATVAL: f = m +src/string/api.c:1980:21: Assignment of INTVAL to FLOATVAL: f = m +src/string/api.c:2055:45: Function pow expects arg 2 to be double gets int: d_length + To allow all numeric types to match, use +relaxtypes. +src/string/api.c:2063:28: Function pow expects arg 2 to be double gets INTVAL: e +src/string/api.c:2065:28: Function pow expects arg 2 to be double gets INTVAL: e +src/string/api.c: (in function Parrot_str_reverse) +src/string/api.c:2347:10: Assignment of unsigned long int to INTVAL: pos = ((src) ? (src)->strlen : 0U) - 1 +src/string/api.c: (in function Parrot_str_escape_truncate) +src/string/api.c:2428:22: Variable c initialized to type UINTVAL, expects unsigned int: ((src)->encoding)->iter_get_and_advance((interp), (src), (&iter)) +src/string/api.c:2479:17: Assignment of unsigned int to char: dp[i++] = c +src/string/api.c:2503:33: Function memcpy expects arg 3 to be size_t gets int: hex_len +src/string/api.c: (in function Parrot_str_unescape_string) +src/string/api.c:2568:5: Assignment of INTVAL to UINTVAL: reserved = string_max_bytes(interp, result, srclen) +src/string/api.c:2575:20: Variable c initialized to type UINTVAL, expects INTVAL: ((src)->encoding)->iter_get_and_advance((interp), (src), (&itersrc)) +src/string/api.c:2583:17: Assignment of UINTVAL to INTVAL: c = ((src)->encoding)->iter_get_and_advance((interp), (src), (&itersrc)) +src/string/api.c:2597:21: Assignment of UINTVAL to INTVAL: c = ((src)->encoding)->iter_get_and_advance((interp), (src), (&itersrc)) +src/string/api.c:2606:21: Assignment of UINTVAL to INTVAL: c = ((src)->encoding)->iter_get_and_advance((interp), (src), (&itersrc)) +src/string/api.c:2610:29: Assignment of UINTVAL to INTVAL: c = ((src)->encoding)->iter_get_and_advance((interp), (src), (&itersrc)) +src/string/api.c:2617:29: Assignment of INTVAL to char: digbuf[digcount++] = c +src/string/api.c:2628:29: Assignment of INTVAL to char: digbuf[digcount] = c +src/string/api.c:2634:29: Assignment of UINTVAL to INTVAL: c = ((src)->encoding)->iter_get_and_advance((interp), (src), (&itersrc)) +src/string/api.c:2646:25: Assignment of UINTVAL to INTVAL: c = ((src)->encoding)->iter_get_and_advance((interp), (src), (&itersrc)) +src/string/api.c:2649:25: Assignment of INTVAL to char: digbuf[digcount] = c +src/string/api.c:2658:25: Assignment of UINTVAL to INTVAL: c = ((src)->encoding)->iter_get_and_advance((interp), (src), (&itersrc)) +src/string/api.c:2661:25: Assignment of INTVAL to char: digbuf[digcount] = c +src/string/api.c:2669:21: Assignment of INTVAL to char: digbuf[0] = c +src/string/api.c:2672:25: Assignment of UINTVAL to INTVAL: c = ((src)->encoding)->iter_get_and_advance((interp), (src), (&itersrc)) +src/string/api.c:2675:25: Assignment of INTVAL to char: digbuf[digcount] = c +src/string/api.c:2686:92: Function expects arg 4 to be UINTVAL gets INTVAL: (next) +src/string/api.c: (in function Parrot_str_join) +src/string/api.c:3047:9: Assignment of UINTVAL to INTVAL: length = Parrot_str_byte_length(interp, first) +src/string/api.c:3048:9: Assignment of UINTVAL to INTVAL: j_length = Parrot_str_byte_length(interp, j) +src/string/api.c: (in function Parrot_str_split) +src/string/api.c:3098:5: Assignment of INTVAL to UINTVAL: slen = Parrot_str_length(interp, str) +src/string/api.c:3104:5: Assignment of INTVAL to UINTVAL: dlen = Parrot_str_length(interp, delim) +src/string/api.c:3107:59: Function expects arg 3 to be INTVAL gets UINTVAL: slen +src/string/api.c:3114:65: Function expects arg 3 to be INTVAL gets UINTVAL: old_iter.charpos +< checking src/string/encoding.c > +src/string/encoding.c: (in function Parrot_encodings_init) +src/string/encoding.c:423:5: Return value (type INTVAL) ignored: Parrot_register_... +src/string/encoding.c:424:5: Return value (type INTVAL) ignored: Parrot_register_... +src/string/encoding.c:425:5: Return value (type INTVAL) ignored: Parrot_register_... +src/string/encoding.c:426:5: Return value (type INTVAL) ignored: Parrot_register_... +src/string/encoding.c:427:5: Return value (type INTVAL) ignored: Parrot_register_... +src/string/encoding.c:428:5: Return value (type INTVAL) ignored: Parrot_register_... +src/string/encoding.c:429:5: Return value (type INTVAL) ignored: Parrot_register_... +< checking src/sub.c > +src/sub.c: (in function Parrot_sub_context_get_info) +src/sub.c:177:29: Variable offs initialized to type int, expects size_t: info->pc +src/sub.c:193:73: Function Parrot_debug_pc_to_filename expects arg 3 to be opcode_t gets size_t: i +src/sub.c:193:17: Possible undocumented modification of interp->const_cstring_table[95] through alias info->file: info->file = Parrot_debug_pc_to_filename(interp, debug, i) +src/sub.c: (in function Parrot_sub_get_line_from_pc) +src/sub.c:234:5: Assignment of int to size_t: current_annotation = pc - base_pc +< checking src/thread.c > +src/thread.c: (in function pt_shared_fixup) +src/thread.c:319:28: Variable is_ro initialized to type UINTVAL, expects int: pmc->vtable->flags & VTABLE_IS_READONLY_FLAG +src/thread.c: (in function pt_thread_wait_with) +src/thread.c:389:9: Undocumented modification of interp->thread_data->state: interp->thread_data->state |= THREAD_STATE_SUSPENDED_GC +src/thread.c:400:5: Undocumented modification of interp->thread_data->state: interp->thread_data->state |= THREAD_STATE_GC_WAKEUP +src/thread.c:406:5: Undocumented modification of interp->thread_data->state: interp->thread_data->state &= ~THREAD_STATE_GC_WAKEUP +src/thread.c: (in function pt_clone_code) +src/thread.c:577:5: Return value (type PackFile_ByteCode *) ignored: Parrot_switch_to... +src/thread.c: (in function pt_thread_run) +src/thread.c:768:12: Return value type UINTVAL does not match declared type int: thread_interp->thread_data->tid +src/thread.c: (in function pt_suspend_all_for_gc) +src/thread.c:1060:9: Return value (type PMC *) ignored: Parrot_cx_delete... +src/thread.c: (in function pt_thread_join) +src/thread.c:1189:118: Function types are inconsistent. Parameter 1 is unknown, but defined in assigned function: ((mutex_unlock)) +src/thread.c:1189:118: Function types are inconsistent. Parameter 1 is implicitly non-null, but notnull in assigned function: ((mutex_unlock)) +src/thread.c:1189:356: Unrecognized (possibly system) identifier: __builtin_expect + Identifier used in code has not been declared. (Message repeated for future uses in this file.) Use +gnuextensions to make Splint recognize some keywords that are gnu extensions. (Use -sysunrecog to inhibit warning) +< checking src/utils.c > +src/utils.c:47:36: Function parameter buf declared as manifest array (size constant is meaningless) + A formal parameter is declared as an array with size. The size of the array is ignored in this context, since the array formal parameter is treated as a pointer. (Use -fixedformalarray to inhibit warning) +src/utils.c:48:32: Function parameter buf declared as manifest array (size constant is meaningless) +src/utils.c:51:32: Function parameter buf declared as manifest array (size constant is meaningless) +src/utils.c:64:33: Function parameter X declared as manifest array (size constant is meaningless) +src/utils.c:243:21: Function parameter X declared as manifest array (size constant is meaningless) +src/utils.c: (in function next_rand) +src/utils.c:251:5: Assignment of unsigned int to unsigned short int: lo = t & 0xffff +src/utils.c:252:5: Assignment of unsigned int to unsigned short int: mid = (t >> 16) & 0xffff +src/utils.c:255:5: Assignment of unsigned int to unsigned short int: mid = t & 0xffff +src/utils.c:256:5: Assignment of unsigned int to unsigned short int: hi = (t >> 16) & 0xffff +src/utils.c:262:5: Assignment of unsigned int to unsigned short int: X[2] = t & 0xffff +src/utils.c:276:20: Function parameter buf declared as manifest array (size constant is meaningless) +src/utils.c:313:20: Function parameter buf declared as manifest array (size constant is meaningless) +src/utils.c: (in function _jrand48) +src/utils.c:318:5: Assignment of unsigned short int to long int: ret = buf[2] << 16 | buf[1] +src/utils.c:333:20: Function parameter buf declared as manifest array (size constant is meaningless) +src/utils.c: (in function Parrot_util_byte_index) +src/utils.c:604:37: Variable str_len initialized to type UINTVAL, expects INTVAL: base->strlen +src/utils.c:606:37: Variable search_len initialized to type UINTVAL, expects INTVAL: search->strlen +src/utils.c:613:69: Function memchr expects arg 3 to be size_t gets INTVAL: len_remain +src/utils.c:617:44: Function memcmp expects arg 3 to be size_t gets INTVAL: search_len +src/utils.c: (in function Parrot_util_byte_rindex) +src/utils.c:653:39: Variable searchlen initialized to type UINTVAL, expects INTVAL: search->strlen +src/utils.c:661:10: Assignment of UINTVAL to INTVAL: current_offset = max_possible_offset +src/utils.c:664:46: Function memcmp expects arg 3 to be size_t gets INTVAL: searchlen +src/utils.c: (in function process_cycle_without_exit) +src/utils.c:750:63: Function expects arg 3 to be unsigned char gets int: pred +src/utils.c: (in function Parrot_util_register_move) +src/utils.c:856:13: Operands of > have incompatible types (unsigned char, size_t): src_regs[i] > max_reg +src/utils.c:858:13: Operands of > have incompatible types (unsigned char, size_t): dest_regs[i] > max_reg +src/utils.c:880:13: Assignment of size_t to int: reg_to_index[index] = i +src/utils.c:892:37: Function rec_climb_back_and_mark expects arg 1 to be int gets size_t: i +src/utils.c:900:40: Function process_cycle_without_exit expects arg 1 to be int gets size_t: i +< checking src/vtables.c > +src/vtables.c: (in function Parrot_vtbl_realloc_vtables) +src/vtables.c:161:32: Variable old_size initialized to type arbitrary unsigned integral type, expects INTVAL: interp->n_vtable_max * sizeof(VTABLE *) +src/vtables.c:166:27: Function mem_sys_realloc_zeroed expects arg 2 to be size_t gets INTVAL: (new_size) +src/vtables.c:166:40: Function mem_sys_realloc_zeroed expects arg 3 to be size_t gets INTVAL: (old_size) +< checking src/warnings.c > +src/warnings.c: (in function print_warning) +src/warnings.c:73:9: Return value (type INTVAL) ignored: Parrot_io_puts(i... +src/warnings.c:75:9: Return value (type INTVAL) ignored: Parrot_io_putps(... +src/warnings.c: (in function Parrot_warn_deprecated) +src/warnings.c:144:9: Return value (type INTVAL) ignored: print_warning(in... +src/warnings.c: (in function Parrot_warn_experimental) +src/warnings.c:169:9: Return value (type INTVAL) ignored: print_warning(in... +< global checks > +< cleaning .......... > + +Finished checking --- 587 code warnings + Time distribution (percent): initialize 0.00 / pre-process 4.72 / c check 95.21 / finalize 0.07