/
splint07.log
1252 lines (1250 loc) · 107 KB
/
splint07.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/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 +null +nullret +usedef +incondefs +functionderef +string-literal-too-long +string-literal-no-room +string-literal-no-room-final-null +string-literal-smaller +enum-members -pred-bool -pred-bool-ptr -pred-bool-int +pred-bool-others +pred-assign +ptrnegate -zero-ptr +charunsignedchar +char-index +char-int +format-code +format-type +ignore-signs +long-unsigned-unsigned-integral +macro-assign +macro-empty +macro-parens +macro-redef +macro-stmt +macro-unrecog +eval-order +eval-order-uncon \
+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
Command Line: Setting +nullret redundant with current value
Command Line: Setting +stringliteraltoolong redundant with current value
Command Line: Setting +stringliteralnoroom redundant with current value
Command Line: Setting +stringliteralnoroomfinalnull redundant with current value
Command Line: Setting -predboolptr redundant with current value
Command Line: Setting -predboolint redundant with current value
Command Line: Setting +predassign redundant with current value
Command Line: Setting +ptrnegate redundant with current value
Command Line: Setting +charunsignedchar redundant with current value
Command Line: Setting +charindex redundant with current value
Command Line: Setting +charint redundant with current value
Command Line: Setting +formatcode redundant with current value
Command Line: Setting +formattype redundant with current value
Command Line: Setting +longunsignedunsignedintegral 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/vtable.h:1155:5: Static Parrot_vtable_slot_names[190] initialized to null value: Parrot_vtable_slot_names[190] = NULL
A reference with no null annotation is assigned or initialized to NULL. Use /*@null@*/ to declare the reference as a possibly null pointer. (Use -nullassign 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 close_script_file)
src/debug.c:754:2: Function returns with null storage derivable from parameter interp->pdb->script_file
A possibly null pointer is reachable from a parameter or global variable that is not declared using a /*@null@*/ annotation. (Use -nullstate to inhibit warning)
src/debug.c:749:36: Storage interp->pdb->script_file becomes null
src/debug.c: (in function Parrot_debugger_destroy)
src/debug.c:822:2: Function returns with null storage derivable from parameter interp->pdb
src/debug.c:821:19: Storage interp->pdb becomes null
src/debug.c: (in function Parrot_debugger_start)
src/debug.c:884:22: Possibly null storage interp->pdb->cur_opcode derivable from parameter debugger_cmdline (interp)
src/debug.c:880:31: Storage interp->pdb->cur_opcode may become null
src/debug.c:891:2: Function returns with possibly null storage derivable from parameter interp->pdb->cur_opcode
src/debug.c:880:31: Storage interp->pdb->cur_opcode may become null
src/debug.c: (in function PDB_next)
src/debug.c:1152:30: Possibly null storage command derivable from parameter get_ulong (&command, ...)
src/debug.c:1139:87: Storage command may become null
src/debug.c: (in function PDB_trace)
src/debug.c:1197:30: Possibly null storage command derivable from parameter get_ulong (&command, ...)
src/debug.c:1182:88: Storage command may become null
src/debug.c: (in function PDB_set_break)
src/debug.c:1480:34: Possibly null storage command derivable from parameter get_ulong (&command, ...)
src/debug.c:1471:92: Storage command may become null
src/debug.c:1558:26: Arrow access from possibly null pointer line: line->number
A possibly null pointer is dereferenced. Value is either the result of a function which may return null (in which case, code should check it is not null), or a global, parameter or structure field declared with the null qualifier. (Use -nullderef to inhibit warning)
src/debug.c:1477:30: Storage line may become null
src/debug.c:1580:24: Possibly null storage pdb->file derivable from parameter display_breakpoint (pdb, ...)
src/debug.c:1580:29: Possibly null storage newbreak->condition derivable from parameter display_breakpoint (..., newbreak)
src/debug.c:1553:31: Storage newbreak->condition may become null
src/debug.c:1580:29: Possibly null storage newbreak->prev->next->condition derivable from parameter display_breakpoint (..., newbreak)
src/debug.c:1553:31: Storage newbreak->prev->next->condition may become null
src/debug.c: (in function PDB_delete_condition)
src/debug.c:1850:2: Function returns with null storage derivable from parameter breakpoint->condition
src/debug.c:1849:29: Storage breakpoint->condition becomes null
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_break)
src/debug.c:2099:33: Null storage breakpoint->condition derivable from parameter display_breakpoint (..., breakpoint)
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: (in function PDB_disassemble)
src/debug.c:2584:62: Null storage interp->pdb->file derivable from parameter Parrot_gc_allocate_memory_chunk ((interp), ...)
src/debug.c:2579:21: Storage interp->pdb->file becomes null
src/debug.c:2637:35: Null storage pfile->line->next->label derivable from parameter PDB_free_file (..., pfile)
src/debug.c:2614:36: Storage pfile->line->next->label becomes null
src/debug.c:2637:35: Null storage pfile->line->next->next derivable from parameter PDB_free_file (..., pfile)
src/debug.c:2615:36: Storage pfile->line->next->next becomes null
src/debug.c:2638:20: Function returns with null storage derivable from parameter interp->pdb->file
src/debug.c:2579:21: Storage interp->pdb->file becomes null
src/debug.c:2648:2: Function returns with null storage derivable from parameter interp->pdb->file->line->next->label
src/debug.c:2614:36: Storage interp->pdb->file->line->next->label becomes null
src/debug.c:2648:2: Function returns with null storage derivable from parameter interp->pdb->file->line->next->next
src/debug.c:2615:36: Storage interp->pdb->file->line->next->next becomes null
src/debug.c: (in function PDB_add_label)
src/debug.c:2695:25: Function returns with possibly null storage derivable from parameter file->label->next
src/debug.c:2681:20: Storage file->label->next may become null
src/debug.c: (in function PDB_load_source)
src/debug.c:2799:16: Function returns with null storage derivable from parameter interp->pdb->debugee->pdb->file
src/debug.c:2783:35: Storage interp->pdb->debugee->pdb->file becomes null
src/debug.c:2804:83: Null storage interp->pdb->debugee->pdb->file derivable from parameter Parrot_gc_allocate_memory_chunk_with_interior_pointers ((interp), ...)
src/debug.c:2783:35: Storage interp->pdb->debugee->pdb->file becomes null
src/debug.c:2913:2: Function returns with null storage derivable from parameter interp->pdb->debugee->pdb->file
src/debug.c:2783:35: Storage interp->pdb->debugee->pdb->file becomes null
src/debug.c: (in function PDB_get_continuation_backtrace)
src/debug.c:3424:13: Expression may have undefined behavior. Left operand calls unconstrained function Parrot_pcc_get_sub; right operand calls unconstrained function Parrot_pcc_get_sub. The unconstrained functions may modify global state used by the other operand): Parrot_pcc_get_sub(interp, ((Parrot_Continuation_attributes *)(old)->data)->to_ctx) == Parrot_pcc_get_sub(interp, ((Parrot_Continuation_attributes *)(sub)->data)->to_ctx)
Code involving a call to function with no modifies or globals clause may have undefined or implementation-dependent behavior (Splint assumes the unconstrained call may modify any reachable state or use any global). Add a specification for the function. (Use -evalorderuncon to inhibit warning)
src/debug.c: (in function GDB_print_reg)
src/debug.c:3519:17: Operands of == have incompatible types (char *, char): string == '\0'
< checking src/dynext.c >
src/dynext.c: (in function get_path)
src/dynext.c:273:33: Null storage passed as non-null param: Parrot_dlopen ((char *)NULL, ...)
A possibly null pointer is passed as a parameter corresponding to a formal parameter with no /*@null@*/ annotation. If NULL may be used for this parameter, add a /*@null@*/ annotation to the function parameter declaration. (Use -nullpass to inhibit warning)
src/dynext.c: (in function Parrot_dyn_dlsym_str)
src/dynext.c:446:46: Possibly null storage handle passed as non-null param: Parrot_dlsym (handle, ...)
src/dynext.c:437:35: Storage handle may become null
src/dynext.c: (in function Parrot_dyn_load_lib)
src/dynext.c:684:29: Possibly null storage lib passed as non-null param: get_path (..., lib, ...)
src/dynext.c:648:37: Storage lib may become null
src/dynext.c:684:79: Null storage ext passed as non-null param: get_path (..., ext)
src/dynext.c:672:20: Storage ext becomes null
src/dynext.c:693:41: Possibly null storage lib_name passed as non-null param: run_init_lib (..., lib_name, ...)
src/dynext.c:671:20: Storage lib_name may become null
< checking src/embed.c >
compilers/imcc/imc.h:273:15: Function IMCC_create_itcall_label inconsistently redeclared to return possibly null storage, previously declared with notnull qualifier
A function, variable or constant is redefined with a different type. (Use -incondefs to inhibit warning)
compilers/imcc/imc.h:177:15: Declaration of IMCC_create_itcall_label
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)
< checking src/exceptions.c >
src/exceptions.c: (in function Parrot_ex_throw_from_op)
src/exceptions.c:235:68: Null storage passed as non-null param: (resume)->vtable->invoke (..., NULL)
src/exceptions.c:241:64: Possibly null storage dest passed as non-null param: (handler)->vtable->invoke (..., dest)
src/exceptions.c:207:135: Storage dest may become null
src/exceptions.c: (in function build_exception_from_args)
src/exceptions.c:308:12: Possibly null storage returned as non-null: Parrot_ex_build_exception(interp, EXCEPT_error, ex_type, msg)
Function returns a possibly null pointer, but is not declared using /*@null@*/ annotation of result. If function may return NULL, add /*@null@*/ annotation to the return value declaration. (Use -nullret to inhibit warning)
src/exceptions.c: (in function Parrot_ex_throw_from_c)
src/exceptions.c:376:88: Null storage passed as non-null param: (handler)->vtable->invoke (..., NULL)
src/exceptions.c: (in function Parrot_ex_update_for_rethrow)
src/exceptions.c:751:62: Possibly null storage prev_backtrace passed as non-null param: (bt_strings)->vtable->push_string (..., prev_backtrace)
src/exceptions.c:745:37: Storage prev_backtrace may become null
src/exceptions.c: (in function Parrot_ex_build_complete_backtrace_string)
src/exceptions.c:778:16: Possibly null storage cur_bt returned as non-null: cur_bt
src/exceptions.c:773:29: Storage cur_bt may become null
src/exceptions.c:782:56: Possibly null storage cur_bt passed as non-null param: (builder)->vtable->push_string (..., cur_bt)
src/exceptions.c:773:29: Storage cur_bt may become null
< checking src/exit.c >
src/exit.c:41:101: Qualifier in used on non-pointer or struct: exit_handler_f function
src/exit.c: (in function Parrot_x_on_exit)
src/exit.c:51:2: Function returns with possibly null storage derivable from parameter interp->exit_handler_list->arg
src/exit.c:48:33: Storage interp->exit_handler_list->arg may become null
src/exit.c: (in function Parrot_x_jump_out_error)
src/exit.c:97:23: Null storage interp->final_exception derivable from parameter Parrot_x_jump_out (interp, ...)
src/exit.c:96:31: Storage interp->final_exception becomes null
src/exit.c: (in function Parrot_x_exit)
src/exit.c:144:23: Null storage interp->exit_handler_list derivable from parameter Parrot_x_jump_out (interp, ...)
src/exit.c:143:33: Storage interp->exit_handler_list becomes null
< checking src/extend.c >
src/extend.c: (in function Parrot_vfprintf)
src/extend.c:104:19: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:102:142: Storage interp->lo_var_ptr becomes null
src/extend.c: (in function Parrot_PMC_new)
src/extend.c:210:19: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:209:142: Storage interp->lo_var_ptr becomes null
src/extend.c: (in function Parrot_PMC_typenum)
src/extend.c:232:19: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:231:142: Storage interp->lo_var_ptr becomes null
src/extend.c: (in function Parrot_PMC_null)
src/extend.c:251:12: Null storage returned as non-null: ((PMC *)NULL)
src/extend.c: (in function Parrot_ext_call)
src/extend.c:319:9: Variable arg_sig used before definition
An rvalue is used that may not be initialized to a value on some execution path. (Use -usedef to inhibit warning)
src/extend.c:323:59: Variable ret_sig used before definition
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: (in function Parrot_ext_try)
src/extend.c:357:34: Possibly null storage data passed as non-null param: (*cfunction) (..., data)
src/extend.c:346:43: Storage data may become null
src/extend.c:372:34: Field jmp.exception used before definition
src/extend.c:385:52: Possibly null storage data passed as non-null param: (*chandler) (..., data)
src/extend.c:346:43: Storage data may become null
src/extend.c:390:2: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:388:146: Storage interp->lo_var_ptr becomes null
src/extend.c: (in function Parrot_new_string)
src/extend.c:593:19: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:592:142: Storage interp->lo_var_ptr becomes null
src/extend.c: (in function Parrot_register_pmc)
src/extend.c:636:2: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:635:142: Storage interp->lo_var_ptr becomes null
src/extend.c: (in function Parrot_unregister_pmc)
src/extend.c:657:2: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:656:142: Storage interp->lo_var_ptr becomes null
src/extend.c: (in function Parrot_register_string)
src/extend.c:678:2: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:677:142: Storage interp->lo_var_ptr becomes null
src/extend.c: (in function Parrot_unregister_string)
src/extend.c:700:2: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:699:142: Storage interp->lo_var_ptr becomes null
src/extend.c:716:39: Qualifier in used on non-pointer or struct: void func(void)
src/extend.c: (in function Parrot_PMC_newclass)
src/extend.c:747:19: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/extend.c:746:142: Storage interp->lo_var_ptr becomes null
< 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:33:52: Static parrot_config_stored initialized to null value: parrot_config_stored = NULL
src/global_setup.c:33:52: Static parrot_config_stored initialized to null value: unsigned char * parrot_config_stored = NULL = NULL
src/global_setup.c:35:42: Static parrot_config_hash_global initialized to null value: parrot_config_hash_global = NULL
src/global_setup.c:35:42: Static parrot_config_hash_global initialized to null value: PMC * parrot_config_hash_global = NULL = NULL
< checking src/hash.c >
src/hash.c: (in function key_hash)
src/hash.c:478:40: Possibly null storage key passed as non-null param: key_hash_STRING (..., (const STRING *)key, ...)
src/hash.c:472:122: Storage key may become null
src/hash.c:481:41: Possibly null storage key passed as non-null param: key_hash_cstring (..., (const char *)key, ...)
src/hash.c:472:122: Storage key may become null
src/hash.c:484:29: Arrow access from possibly null pointer key: ((PMC *)key)->vtable
src/hash.c:472:122: Storage key may become null
src/hash.c:484:58: Possibly null storage key passed as non-null param: ((PMC *)key)->vtable->hashvalue (..., (PMC *)key)
src/hash.c:472:122: Storage key may become null
src/hash.c: (in function hash_compare)
src/hash.c:516:44: Possibly null storage a passed as non-null param: hash_compare_string (..., (const STRING *)a, ...)
src/hash.c:507:126: Storage a may become null
src/hash.c:516:63: Possibly null storage b passed as non-null param: hash_compare_string (..., (const STRING *)b)
src/hash.c:508:31: Storage b may become null
src/hash.c:519:40: Possibly null storage a passed as non-null param: hash_compare_string_enc ((const STRING *)a, ...)
src/hash.c:507:126: Storage a may become null
src/hash.c:519:59: Possibly null storage b passed as non-null param: hash_compare_string_enc (..., (const STRING *)b)
src/hash.c:508:31: Storage b may become null
src/hash.c:522:23: Possibly null storage a passed as non-null param: strcmp ((const char *)a, ...)
src/hash.c:507:126: Storage a may become null
src/hash.c:522:40: Possibly null storage b passed as non-null param: strcmp (..., (const char *)b)
src/hash.c:508:31: Storage b may become null
src/hash.c:525:41: Possibly null storage a passed as non-null param: hash_compare_pmc (..., (PMC *)a, ...)
src/hash.c:507:126: Storage a may become null
src/hash.c:525:51: Possibly null storage b passed as non-null param: hash_compare_pmc (..., (PMC *)b)
src/hash.c:508:31: Storage b may become null
src/hash.c: (in function Parrot_hash_thaw)
src/hash.c:761:47: Variable key used before definition
src/hash.c:761:17: Return value (type HashBucket *) ignored: Parrot_hash_put(...
src/hash.c:767:47: Variable key used before definition
src/hash.c:767:17: Return value (type HashBucket *) ignored: Parrot_hash_put(...
src/hash.c:773:47: Variable key used before definition
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: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:1038:2: Function returns with null storage derivable from parameter hash->free_list->next
src/hash.c:1036:20: Storage hash->free_list->next becomes null
src/hash.c: (in function Parrot_hash_create)
src/hash.c:1161:12: Null storage hash->index derivable from return value: hash
src/hash.c:1157:24: Storage hash->index becomes null
src/hash.c:1161:12: Null storage hash->buckets derivable from return value: hash
src/hash.c:1158:24: Storage hash->buckets becomes null
src/hash.c:1161:12: Null storage hash->free_list derivable from return value: hash
src/hash.c:1159:24: Storage hash->free_list becomes null
src/hash.c: (in function Parrot_hash_destroy)
src/hash.c:1209:9: Field hash->buckets used before definition
src/hash.c:1210:13: Field hash->mask used before definition
src/hash.c: (in function Parrot_hash_get_bucket)
src/hash.c:1317:56: Possibly null storage str passed as non-null param: key_hash_STRING (..., str, ...)
src/hash.c:1316:36: Storage str may become null
src/hash.c: (in function parrot_hash_get_bucket_string)
src/hash.c:1414:43: Arrow access from possibly null pointer s2: s2->strstart
src/hash.c:1406:28: Storage s2 may become null
src/hash.c: (in function parrot_hash_store_value_in_bucket)
src/hash.c:1468:2: Function returns with possibly null storage derivable from parameter bucket->value
src/hash.c:1451:25: Storage bucket->value may become null
src/hash.c: (in function Parrot_hash_put)
src/hash.c:1500:47: Possibly null storage s passed as non-null param: key_hash_STRING (..., s, ...)
src/hash.c:1499:32: Storage s may become null
src/hash.c: (in function Parrot_hash_clone_prunable)
src/hash.c:1593:9: Field dest->buckets used before definition
src/hash.c:1594:13: Field dest->mask used before definition
src/hash.c: (in function Parrot_hash_key_to_int)
src/hash.c:1821:28: Arrow access from possibly null pointer key: ((PMC *)key)->vtable
src/hash.c:1811:136: Storage key may become null
src/hash.c:1821:59: Possibly null storage key passed as non-null param: ((PMC *)key)->vtable->get_integer (..., (PMC *)key)
src/hash.c:1811:136: Storage key may become null
src/hash.c: (in function Parrot_hash_key_to_string)
src/hash.c:1858:28: Arrow access from possibly null pointer key: ((PMC *)key)->vtable
src/hash.c:1847:139: Storage key may become null
src/hash.c:1858:58: Possibly null storage key passed as non-null param: ((PMC *)key)->vtable->get_string (..., (PMC *)key)
src/hash.c:1847:139: Storage key may become null
src/hash.c:1870:12: Possibly null storage ret returned as non-null: ret
src/hash.c:1863:15: Storage ret may become null
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_int)
src/hash.c:2098:29: Arrow access from possibly null pointer value: ((PMC *)value)->vtable
src/hash.c:2085:138: Storage value may become null
src/hash.c:2098:60: Possibly null storage value passed as non-null param: ((PMC *)value)->vtable->get_integer (..., (PMC *)value)
src/hash.c:2085:138: Storage value may become null
src/hash.c: (in function Parrot_hash_value_to_string)
src/hash.c:2132:30: Arrow access from possibly null pointer value: ((PMC *)value)->vtable
src/hash.c:2120:141: Storage value may become null
src/hash.c:2132:60: Possibly null storage value passed as non-null param: ((PMC *)value)->vtable->get_string (..., (PMC *)value)
src/hash.c:2120:141: Storage value may become null
src/hash.c:2138:12: Possibly null storage ret returned as non-null: ret
src/hash.c:2129:15: Storage ret may become null
src/hash.c: (in function Parrot_hash_value_to_pmc)
src/hash.c:2172:12: Possibly null storage ret returned as non-null: ret
src/hash.c:2166:15: Storage ret may become null
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:2200:41: Possibly null storage value passed as non-null param: Parrot_str_to_num (..., (STRING *)value)
src/hash.c:2187:141: Storage value may become null
src/hash.c:2203:29: Arrow access from possibly null pointer value: ((PMC *)value)->vtable
src/hash.c:2187:141: Storage value may become null
src/hash.c:2203:59: Possibly null storage value passed as non-null param: ((PMC *)value)->vtable->get_number (..., (PMC *)value)
src/hash.c:2187:141: Storage value may become null
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...
src/hll.c: (in function Parrot_hll_register_HLL)
src/hll.c:173:96: Possibly null storage ns_hash passed as non-null param: (interp->HLL_namespace)->vtable->set_pmc_keyed_int (..., ns_hash)
src/hll.c:169:15: Storage ns_hash may become null
src/hll.c: (in function Parrot_hll_regenerate_HLL_namespaces)
src/hll.c:464:47: Possibly null storage ns_hash passed as non-null param: (interp->HLL_namespace)->vtable->set_pmc_keyed_int (..., ns_hash)
src/hll.c:460:23: Storage ns_hash may become null
< 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
include/parrot/api.h:798:55: Parameter argv inconsistently redeclared as notnull storage, previously declared without notnull qualifier
compilers/imcc/imc.h:82:38: Declaration of argv
src/install_config.c: (in function Parrot_set_config_hash)
src/install_config.c:3475:58: Null storage config passed as non-null param: Parrot_api_set_configuration_hash (..., config)
src/install_config.c:3470:25: Storage config becomes null
< checking src/io/api.c >
src/io/api.c: (in function Parrot_io_stdhandle)
src/io/api.c:140:12: Null storage result returned as non-null: result
src/io/api.c:133:20: Storage result becomes null
src/io/api.c: (in function Parrot_io_fdopen)
src/io/api.c:266:16: Null storage returned as non-null: ((PMC *)NULL)
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:421:226: Null storage passed as non-null param: (attr_value)->vtable->set_string_native (..., NULL)
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 get_encoding)
src/io/api.c:453:12: Possibly null storage encoding returned as non-null: encoding
src/io/api.c:451:20: Storage encoding may become null
src/io/api.c: (in function Parrot_io_reads)
src/io/api.c:543:17: Return value (type INTVAL) ignored: encoding->partia...
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:585:12: Possibly null storage result returned as non-null: result
src/io/api.c:475:22: Storage result may become null
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: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:649:12: Variable result used before definition
src/io/api.c: (in function Parrot_io_peek)
src/io/api.c:760:12: Possibly null storage res returned as non-null: res
src/io/api.c:756:15: Storage res may become null
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:798:12: Variable result used before definition
src/io/api.c: (in function Parrot_io_putps)
src/io/api.c:866:29: Arrow access from possibly null pointer encoding: encoding->to_encoding
src/io/api.c:862:24: Storage encoding may become null
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:872:102: Possibly null storage s passed as non-null param: Parrot_pcc_invoke_method_from_c_args (..., s, ...)
src/io/api.c:832:123: Storage s may become null
src/io/api.c:874:12: Variable result used before definition
< 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: (in function Parrot_io_fill_readbuf)
src/io/buffer.c:240:50: Possibly null storage buf passed as non-null param: Parrot_io_read (..., ((char *)buf), ...)
src/io/buffer.c:234:30: Storage buf may become null
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:296:22: Possibly null storage buffer_next passed as non-null param: memcpy (..., buffer_next, ...)
src/io/buffer.c:288:20: Storage buffer_next may become null
src/io/buffer.c:351:28: Possibly null storage buffer_next passed as non-null param: memcpy (..., buffer_next, ...)
src/io/buffer.c:349:20: Storage buffer_next may become null
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:412:13: Dereference of possibly null pointer buffer_next: *buffer_next
src/io/buffer.c:410:20: Storage buffer_next may become null
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:483:40: Possibly null storage buffer_next passed as non-null param: encoding->partial_scan (..., (char *)buffer_next, ...)
src/io/buffer.c:465:19: Storage buffer_next may become null
src/io/buffer.c:483:9: Return value (type INTVAL) ignored: encoding->partia...
src/io/buffer.c:496:46: Possibly null storage buffer_next passed as non-null param: memcpy (..., buffer_next, ...)
src/io/buffer.c:465:19: Storage buffer_next may become null
src/io/buffer.c:515:42: Possibly null storage buffer_next passed as non-null param: memcpy (..., buffer_next, ...)
src/io/buffer.c:465:19: Storage buffer_next may become null
src/io/buffer.c:552:58: Possibly null storage buffer_next passed as non-null param: memcpy (..., buffer_next, ...)
src/io/buffer.c:539:23: Storage buffer_next may become null
src/io/buffer.c:560:13: Return value (type INTVAL) ignored: encoding->partia...
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:714:16: Possibly null storage buffer_next passed as non-null param: memcpy (buffer_next, ...)
src/io/buffer.c:634:42: Storage buffer_next may become null
src/io/buffer.c:724:16: Possibly null storage buffer_next passed as non-null param: memcpy (buffer_next, ...)
src/io/buffer.c:634:42: Storage buffer_next may become null
src/io/buffer.c:727:9: Return value (type INTVAL) ignored: Parrot_io_flush_...
src/io/buffer.c:733:20: Possibly null storage buffer_start passed as non-null param: memcpy (buffer_start, ...)
src/io/buffer.c:633:42: Storage buffer_start may become null
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 >
src/io/core.c: (in function Parrot_io_finish)
src/io/core.c:110:33: Null storage interp->piodata->table derivable from parameter Parrot_gc_free_memory_chunk ((interp), ...)
src/io/core.c:109:30: Storage interp->piodata->table becomes null
src/io/core.c:113:2: Function returns with null storage derivable from parameter interp->piodata
src/io/core.c:111:23: Storage interp->piodata becomes null
< 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_connect_handle)
src/io/socket_api.c:248:13: Unconstrained functions used in arguments 3 () and 4 () may modify or use global state in undefined way: Parrot_io_connect(interp, io->os_handle, (address)->vtable->get_pointer(interp, address), (address)->vtable->get_integer(interp, address))
src/io/socket_api.c:249:13: Unconstrained functions used in arguments 4 () and 3 () may modify or use global state in undefined way: Parrot_io_connect(interp, io->os_handle, (address)->vtable->get_pointer(interp, address), (address)->vtable->get_integer(interp, address))
src/io/socket_api.c: (in function Parrot_io_bind_handle)
src/io/socket_api.c:306:13: Unconstrained functions used in arguments 3 () and 4 () may modify or use global state in undefined way: Parrot_io_bind(interp, io->os_handle, (address)->vtable->get_pointer(interp, address), (address)->vtable->get_integer(interp, address))
src/io/socket_api.c:307:13: Unconstrained functions used in arguments 4 () and 3 () may modify or use global state in undefined way: Parrot_io_bind(interp, io->os_handle, (address)->vtable->get_pointer(interp, address), (address)->vtable->get_integer(interp, address))
src/io/socket_api.c: (in function Parrot_io_accept_handle)
src/io/socket_api.c:357:16: Null storage returned as non-null: ((PMC *)NULL)
< checking src/key.c >
< checking src/library.c >
src/library.c: (in function path_guarantee_trailing_separator)
src/library.c:440:63: Expression has undefined behavior (unconstrained function used in left operand may set global variable path_separator used in right operand): ((path)->encoding)->ord((interp), (path), (-1)) != (UINTVAL)path_separator
src/library.c:33:17: File static function cnv_to_win32_filesep declared but not used
< checking src/list.c >
src/list.c: (in function Parrot_list_append)
src/list.c:102:2: Function returns with null storage derivable from parameter list->last->prev
src/list.c:86:18: Storage list->last->prev becomes null
src/list.c:102:2: Function returns with null storage derivable from parameter list->last->next
src/list.c:86:31: Storage list->last->next becomes null
src/list.c:102:2: Function returns with null storage derivable from parameter list->first->next
src/list.c:86:31: Storage list->first->next becomes null
src/list.c:102:2: Function returns with null storage derivable from parameter list->first->prev
src/list.c:86:18: Storage list->first->prev becomes null
src/list.c:102:2: Function returns with null storage derivable from parameter item->next
src/list.c:86:31: Storage item->next becomes null
src/list.c:102:2: Function returns with null storage derivable from parameter item->prev
src/list.c:86:18: Storage item->prev becomes null
src/list.c: (in function Parrot_list_remove)
src/list.c:134:9: Variable prev used in inconsistent state
src/list.c:132:9: Storage prev becomes inconsistent (released on one branch)
src/list.c:135:22: Variable next used in inconsistent state
src/list.c:129:9: Storage next becomes inconsistent (released on one branch)
src/list.c:136:9: Variable next used in inconsistent state
src/list.c:129:9: Storage next becomes inconsistent (released on one branch)
src/list.c: (in function Parrot_list_pop)
src/list.c:162:686: Variable prev used in inconsistent state
src/list.c:162:598: Storage prev becomes inconsistent (released on one branch)
src/list.c:162:743: Variable next used in inconsistent state
src/list.c:162:466: Storage next becomes inconsistent (released on one branch)
src/list.c:162:774: Variable next used in inconsistent state
src/list.c:162:466: Storage next becomes inconsistent (released on one branch)
< checking src/longopt.c >
src/longopt.c: (in function longopt_get)
src/longopt.c:95:18: Function returns with null storage derivable from parameter info_buf->opt_error
src/longopt.c:92:47: Storage info_buf->opt_error becomes null
src/longopt.c:95:18: Function returns with null storage derivable from parameter info_buf->opt_arg
src/longopt.c:92:25: Storage info_buf->opt_arg becomes null
src/longopt.c:101:58: Null storage info_buf->opt_arg derivable from parameter longopt_get_shortopt (..., info_buf)
src/longopt.c:92:25: Storage info_buf->opt_arg becomes null
src/longopt.c:101:58: Null storage info_buf->opt_error derivable from parameter longopt_get_shortopt (..., info_buf)
src/longopt.c:92:47: Storage info_buf->opt_error becomes null
src/longopt.c:109:61: Null storage info_buf->opt_arg derivable from parameter longopt_get_longopt (..., info_buf)
src/longopt.c:92:25: Storage info_buf->opt_arg becomes null
src/longopt.c:109:61: Null storage info_buf->opt_error derivable from parameter longopt_get_longopt (..., info_buf)
src/longopt.c:92:47: Storage info_buf->opt_error becomes null
src/longopt.c:113:58: Null storage info_buf->opt_arg derivable from parameter longopt_get_shortopt (..., info_buf)
src/longopt.c:92:25: Storage info_buf->opt_arg becomes null
src/longopt.c:113:58: Null storage info_buf->opt_error derivable from parameter longopt_get_shortopt (..., info_buf)
src/longopt.c:92:47: Storage info_buf->opt_error becomes null
src/longopt.c: (in function longopt_get_shortopt)
src/longopt.c:291:33: Function returns with null storage derivable from parameter info_buf->_shortopt_pos
src/longopt.c:283:47: Storage info_buf->_shortopt_pos becomes null
< 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 Parrot_mmd_find_multi_from_sig_obj)
src/multidispatch.c:241:12: Possibly null storage returned as non-null: Parrot_mmd_sort_manhattan_by_sig_pmc(interp, candidate_list, invoke_sig)
src/multidispatch.c: (in function Parrot_mmd_multi_dispatch_from_c_args)
src/multidispatch.c:274:74: Variable arg_sig used before definition
src/multidispatch.c:303:59: Variable ret_sig used before definition
src/multidispatch.c: (in function mmd_build_type_tuple_from_long_sig)
src/multidispatch.c:441:56: Possibly null storage type_list passed as non-null param: mmd_build_type_tuple_from_type_list (..., type_list)
src/multidispatch.c:439:22: Storage type_list may become null
src/multidispatch.c: (in function mmd_distance)
src/multidispatch.c:600:68: Null storage long_sig passed as non-null param: mmd_build_type_tuple_from_long_sig (..., long_sig)
src/multidispatch.c:599:425: Storage long_sig becomes null
src/multidispatch.c:611:68: Null storage long_sig passed as non-null param: mmd_build_type_tuple_from_long_sig (..., long_sig)
src/multidispatch.c:610:405: Storage long_sig becomes null
src/multidispatch.c: (in function Parrot_mmd_sort_candidates)
src/multidispatch.c:782:12: Null storage best_candidate returned as non-null: best_candidate
src/multidispatch.c:768:35: Storage best_candidate becomes null
src/multidispatch.c: (in function Parrot_mmd_add_multi_from_long_sig)
src/multidispatch.c:979:43: Arrow access from possibly null pointer type_list: (type_list)->vtable
src/multidispatch.c:978:31: Storage type_list may become null
src/multidispatch.c:1019:87: Qualifier in used on non-pointer or struct: funcptr_t multi_func_ptr
src/multidispatch.c: (in function Parrot_mmd_add_multi_from_c_args)
src/multidispatch.c:1027:41: Arrow access from possibly null pointer type_list: (type_list)->vtable
src/multidispatch.c:1026:29: Storage type_list may become null
< checking src/namespace.c >
src/namespace.c: (in function get_namespace_pmc)
src/namespace.c:299:59: Possibly null storage nsroot passed as non-null param: Parrot_ns_make_namespace_keyed_str (..., nsroot, ...)
src/namespace.c:292:14: Storage nsroot may become null
src/namespace.c:303:55: Possibly null storage nsroot passed as non-null param: Parrot_ns_make_namespace_keyed (..., nsroot, ...)
src/namespace.c:292:14: Storage nsroot may become null
src/namespace.c: (in function Parrot_ns_get_namespace_keyed_str)
src/namespace.c:391:51: Possibly null storage str_key passed as non-null param: internal_ns_keyed_str (..., str_key, ...)
src/namespace.c:388:37: Storage str_key may become null
src/namespace.c: (in function Parrot_ns_make_namespace_autobase)
src/namespace.c:463:15: Arrow access from possibly null pointer key: (key)->vtable
src/namespace.c:459:105: Storage key may become null
src/namespace.c: (in function Parrot_ns_get_name)
src/namespace.c:492:12: Variable names used before definition
src/namespace.c: (in function Parrot_ns_get_global)
src/namespace.c:524:70: Possibly null storage globalname passed as non-null param: (ns)->vtable->get_pointer_keyed_str (..., globalname)
src/namespace.c:518:124: Storage globalname may become null
src/namespace.c: (in function Parrot_ns_set_global)
src/namespace.c:544:10: Arrow access from possibly null pointer ns: (ns)->vtable
src/namespace.c:540:92: Storage ns may become null
src/namespace.c:544:52: Possibly null storage globalname passed as non-null param: (ns)->vtable->set_pmc_keyed_str (..., globalname, ...)
src/namespace.c:541:37: Storage globalname may become null
src/namespace.c:544:65: Possibly null storage val passed as non-null param: (ns)->vtable->set_pmc_keyed_str (..., val)
src/namespace.c:541:74: Storage val may become null
src/namespace.c: (in function Parrot_ns_find_namespace_global)
src/namespace.c:583:73: Possibly null storage globalname passed as non-null param: (ns)->vtable->get_pointer_keyed_str (..., globalname)
src/namespace.c:568:66: Storage globalname may become null
src/namespace.c: (in function Parrot_ns_store_global)
src/namespace.c:633:52: Possibly null storage globalname passed as non-null param: (ns)->vtable->set_pmc_keyed_str (..., globalname, ...)
src/namespace.c:626:37: Storage globalname may become null
src/namespace.c:633:65: Possibly null storage val passed as non-null param: (ns)->vtable->set_pmc_keyed_str (..., val)
src/namespace.c:626:74: Storage val may become null
src/namespace.c: (in function Parrot_ns_store_sub)
src/namespace.c:744:45: Possibly null storage ns passed as non-null param: store_sub_in_multi (..., ns)
src/namespace.c:737:10: Storage ns may become null
< 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:718:16: Null storage returned as non-null: NULL
src/nci_test.c:723:12: Null storage returned as non-null: NULL
src/nci_test.c:991:37: Parameter double_me inconsistently redeclared as notnull storage, previously declared without notnull qualifier
src/nci_test.c:87:24: Declaration of double_me
src/nci_test.c:991:76: Parameter triple_me inconsistently redeclared as notnull storage, previously declared without notnull qualifier
src/nci_test.c:87:31: Declaration of triple_me
src/nci_test.c:1012:40: Parameter my_data inconsistently redeclared as notnull storage, previously declared without notnull qualifier
src/nci_test.c:104:19: Declaration of my_data
src/nci_test.c:1119:42: Parameter outOpaque inconsistently redeclared as allocated param, previously declared as unknown param
src/nci_test.c:106:18: Declaration of outOpaque
src/nci_test.c:1119:42: Parameter outOpaque inconsistently redeclared as notnull storage, previously declared without notnull qualifier
src/nci_test.c:106:18: Declaration of outOpaque
src/nci_test.c:1139:39: Parameter inOpaque inconsistently redeclared as notnull storage, previously declared without notnull qualifier
src/nci_test.c:107:17: Declaration of inOpaque
src/nci_test.c: (in function nci_ttt)
src/nci_test.c:1162:5: Buffer overflow possible with sprintf. Recommend using snprintf instead: sprintf
src/nci_test.c:1162:13: Possibly null storage s passed as non-null param: sprintf (s, ...)
src/nci_test.c:1161:15: Storage s may become null
< 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: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:41:58: Null storage config passed as non-null param: Parrot_api_set_configuration_hash (..., config)
src/null_config.c:36:25: Storage config becomes null
< checking src/oo.c >
src/oo.c: (in function Parrot_oo_extract_methods_from_namespace)
src/oo.c:165:11: Variable methods used before definition
src/oo.c:179:11: Variable vtable_overrides used before definition
src/oo.c: (in function get_pmc_proxy)
src/oo.c:372:16: Null storage returned as non-null: ((PMC *)NULL)
src/oo.c:382:56: Possibly null storage parrot_hll passed as non-null param: Parrot_ns_make_namespace_keyed_str (..., parrot_hll, ...)
src/oo.c:380:34: Storage parrot_hll may become null
src/oo.c:384:32: Arrow access from possibly null pointer pmc_ns: (pmc_ns)->vtable
src/oo.c:382:13: Storage pmc_ns may become null
src/oo.c: (in function Parrot_oo_register_type)
src/oo.c:687:17: Possibly null storage passed as non-null param: Parrot_ex_throw_from_c_args (..., Parrot_str_escape(interp, classname))
src/oo.c: (in function invalidate_type_caches)
src/oo.c:834:2: Function returns with null storage derivable from parameter interp->caches->idx[]
src/oo.c:833:21: Storage interp->caches->idx[] becomes null
src/oo.c: (in function C3_merge)
src/oo.c:1121:14: Arrow access from possibly null pointer result: (result)->vtable
src/oo.c:1120:14: Storage result may become null
src/oo.c: (in function Parrot_ComputeMRO_C3)
src/oo.c:1190:18: Arrow access from possibly null pointer merge_list: (merge_list)->vtable
src/oo.c:1173:18: Storage merge_list may become null
src/oo.c: (in function Parrot_ComposeRole)
src/oo.c:1249:10: Variable methods used before definition
src/oo.c:1393:27: Variable roles_of_role used before definition
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
compilers/imcc/imc.h:82:38: Parameter argv inconsistently redeclared as possibly null storage, previously declared with notnull qualifier
include/parrot/api.h:798:55: Declaration of argv
compilers/imcc/imc.h:177:15: Function IMCC_create_itcall_label inconsistently redeclared to return notnull storage, previously declared without notnull qualifier
compilers/imcc/imc.h:177:15: Declaration of IMCC_create_itcall_label
src/packfile/api.c: (in function PackFile_destroy)
src/packfile/api.c:535:12: Function returns with null storage derivable from parameter pf->header
src/packfile/api.c:531:18: Storage pf->header becomes null
src/packfile/api.c:535:12: Function returns with null storage derivable from parameter pf->dirp
src/packfile/api.c:533:18: Storage pf->dirp becomes null
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 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: (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 PackFile_new)
src/packfile/api.c:1410:40: Null storage pf->cur_cs derivable from parameter pf_register_standard_funcs (..., pf)
src/packfile/api.c:1409:18: Storage pf->cur_cs becomes null
src/packfile/api.c:1423:12: Null storage pf->fetch_op derivable from return value: pf
src/packfile/api.c:1419:5: Storage pf->fetch_op becomes null
src/packfile/api.c:1423:12: Null storage pf->fetch_iv derivable from return value: pf
src/packfile/api.c:1420:5: Storage pf->fetch_iv becomes null
src/packfile/api.c:1423:12: Null storage pf->fetch_nv derivable from return value: pf
src/packfile/api.c:1421:5: Storage pf->fetch_nv becomes null
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: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: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:2093:24: Undocumented modification of cursor possible from call to PF_fetch_opcode: 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:2103:28: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(pf, &cursor)
src/packfile/api.c:2116:24: Null storage returned as non-null: NULL
src/packfile/api.c:2146:16: Arrow access from possibly null pointer pf: pf->src
src/packfile/api.c:2077:38: Storage pf may become null
src/packfile/api.c: (in function default_destroy)
src/packfile/api.c:2469:10: Field self->pf used before definition
src/packfile/api.c:2469:35: Field self->data used before definition
src/packfile/api.c:2470:47: Field self->data used before definition
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_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:2725:36: Undocumented modification of cursor possible from call to PF_fetch_opcode: 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: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: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_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:2977:43: Field self->pf used before definition
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:45: Field debug->base.name used before definition
src/packfile/api.c:2993:70: Field self->dir used before definition
src/packfile/api.c:2998:24: Field self->name used before definition
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 find_constants)
src/packfile/api.c:3362:13: Return value (type HashBucket *) ignored: Parrot_hash_put(...
src/packfile/api.c: (in function PackFile_ConstTable_clear)
src/packfile/api.c:3447:12: Function returns with null storage derivable from parameter self->num.constants
src/packfile/api.c:3429:31: Storage self->num.constants becomes null
src/packfile/api.c:3447:12: Function returns with null storage derivable from parameter self->str.constants
src/packfile/api.c:3434:31: Storage self->str.constants becomes null
src/packfile/api.c:3447:12: Function returns with null storage derivable from parameter self->pmc.constants
src/packfile/api.c:3439:31: Storage self->pmc.constants becomes null
src/packfile/api.c:3447:12: Function returns with null storage derivable from parameter self->string_hash
src/packfile/api.c:3444:29: Storage self->string_hash becomes null
src/packfile/api.c: (in function PackFile_Constant_unpack_pmc)
src/packfile/api.c:3606:12: Possibly null storage pmc returned as non-null: pmc
src/packfile/api.c:3602:41: Storage pmc may become null
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:3750:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: 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:3753:22: Undocumented modification of cursor possible from call to PF_fetch_opcode: PF_fetch_opcode(seg->pf, &cursor)
src/packfile/api.c: (in function PackFile_Annotations_lookup)
src/packfile/api.c:4001:20: Null storage returned as non-null: ((PMC *)NULL)
src/packfile/api.c:4006:20: Null storage returned as non-null: ((PMC *)NULL)
src/packfile/api.c:4019:20: Null storage returned as non-null: ((PMC *)NULL)
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_fixup_subs)
src/packfile/api.c:4306:2: Function returns with null storage derivable from parameter interp->lo_var_ptr
src/packfile/api.c:4305:142: Storage interp->lo_var_ptr becomes null
src/packfile/api.c: (in function PackFile_read_pbc)
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:4435:37: Function mmap expects arg 1 to be void * gets int: 0
src/packfile/api.c:4435:37: Null storage passed as non-null param: mmap (0, ...)
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)
< checking src/packfile/output.c >
src/packfile/output.c: (in function update_backref_hash)
src/packfile/output.c:187:13: Return value (type HashBucket *) ignored: Parrot_hash_put(...
src/packfile/output.c:197:13: Return value (type HashBucket *) ignored: Parrot_hash_put(...
src/packfile/output.c: (in function PackFile_ConstTable_pack)
src/packfile/output.c:279:12: Possibly null storage cursor returned as non-null: cursor
src/packfile/output.c:273:19: Storage cursor may become null
< 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 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: (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:1303:16: Null storage returned as non-null: ((STRING *)NULL)
src/packfile/pf_items.c: (in function PF_store_string)
src/packfile/pf_items.c:1369:48: Null storage passed as non-null param: Parrot_encoding_number_of_str (NULL, ...)
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: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:3476:58: Null storage config passed as non-null param: Parrot_api_set_configuration_hash (..., config)
src/parrot_config.c:3471:25: Storage config becomes null
< 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:70:41: Static options[4].opt_long[0] initialized to null value: options[4].opt_long[0] = NULL
src/pbc_disassemble.c: (in function main)
src/pbc_disassemble.c:93:44: Local opt.opt_arg initialized to null value: opt.opt_arg = NULL
src/pbc_disassemble.c:93:50: Local opt.opt_error initialized to null value: opt.opt_error = NULL
src/pbc_disassemble.c:93:56: Local opt._shortopt_pos initialized to null value: opt._shortopt_pos = NULL
src/pbc_disassemble.c:96:139: Arrow access from possibly null pointer initargs: (initargs)->stacktop
src/pbc_disassemble.c:96:64: Storage initargs may become null
src/pbc_disassemble.c:98:39: Null storage passed as non-null param: Parrot_api_make_interpreter (NULL, ...)
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_new)
src/pmc.c:161:73: Null storage passed as non-null param: (classobj)->vtable->instantiate (..., ((PMC *)NULL))
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:419:57: Null storage passed as non-null param: (vtable->get_pointer) (..., NULL)
src/pmc.c:459:9: Return value (type void *) ignored: Parrot_gc_alloca...
src/pmc.c: (in function Parrot_pmc_new_noinit)
src/pmc.c:487:69: Null storage passed as non-null param: (classobj)->vtable->instantiate (..., ((PMC *)NULL))
src/pmc.c: (in function Parrot_pmc_new_init_int)
src/pmc.c:584:80: Null storage passed as non-null param: (classobj)->vtable->instantiate (..., ((PMC *)NULL))
src/pmc.c: (in function Parrot_pmc_new_constant_init)
src/pmc.c:616:45: Possibly null storage init passed as non-null param: (pmc)->vtable->init_pmc (..., init)
src/pmc.c:612:118: Storage init may become null
src/pmc.c: (in function Parrot_pmc_box_string)
src/pmc.c:820:54: Possibly null storage string passed as non-null param: (ret)->vtable->set_string_native (..., string)
src/pmc.c:815:96: Storage string may become null