diff --git a/infer/tests/codetoanalyze/c/errors/Makefile b/infer/tests/codetoanalyze/c/errors/Makefile index 5911f9e0b..5ea8dec21 100644 --- a/infer/tests/codetoanalyze/c/errors/Makefile +++ b/infer/tests/codetoanalyze/c/errors/Makefile @@ -9,7 +9,7 @@ TESTS_DIR = ../../.. ANALYZER = infer CLANG_OPTIONS = -c -INFER_OPTIONS = --report-custom-error --developer-mode --no-filtering --debug-exceptions +INFER_OPTIONS = --report-custom-error --developer-mode --no-filtering --debug-exceptions --project-root $(TESTS_DIR) # we need to disable traces in C tests because assertions/assertion_failure.c has different traces # on Linux and OSX because of different implementations of assert() on each platform INFERPRINT_OPTIONS = --no-print-traces-in-tests --issues-tests diff --git a/infer/tests/codetoanalyze/c/errors/issues.exp b/infer/tests/codetoanalyze/c/errors/issues.exp index 1bc96fdfa..550fbd948 100644 --- a/infer/tests/codetoanalyze/c/errors/issues.exp +++ b/infer/tests/codetoanalyze/c/errors/issues.exp @@ -1,90 +1,90 @@ -arithmetic/array_out_of_bounds.c, bound_error, 2, ARRAY_OUT_OF_BOUNDS_L1 -arithmetic/array_out_of_bounds.c, bound_error_nested, 2, ARRAY_OUT_OF_BOUNDS_L1 -arithmetic/divide_by_zero.c, arith_divide_by_zero, 3, DIVIDE_BY_ZERO -arithmetic/unsigned_values.c, signed_array, 3, DIVIDE_BY_ZERO -arithmetic/unsigned_values.c, signed_field, 3, DIVIDE_BY_ZERO -arithmetic/unsigned_values.c, signed_int, 3, DIVIDE_BY_ZERO -arithmetic/unsigned_values.c, signed_int_ptr, 3, DIVIDE_BY_ZERO -assertions/assertion_example.c, report_div0_and_no_npe, 2, DIVIDE_BY_ZERO -assertions/assertion_failure.c, assertion_failure_with_heap, 7, ASSERTION_FAILURE -assertions/assertion_failure.c, assignemt_before_check, 3, ASSERTION_FAILURE -assertions/assertion_failure.c, failure_on_both_branches, 6, ASSERTION_FAILURE -assertions/assertion_failure.c, should_report_assertion_failure, 3, ASSERTION_FAILURE -assertions/assertion_failure.c, simple_assertion_failure, 3, ASSERTION_FAILURE -attributes/sentinel.c, truncated_call, 5, PREMATURE_NIL_TERMINATION_ARGUMENT -custom_error/custom.c, paf, 3, UNEXPECTED_NEGATIVE_EXPONENT -custom_error/custom.c, pouf, 3, UNEXPECTED_NEGATIVE_EXPONENT -dangling_deref/dpd.c, dpd, 3, DANGLING_POINTER_DEREFERENCE -dangling_deref/dpd.c, dpd, 3, RETURN_VALUE_IGNORED -dangling_deref/dpd.c, dpd, 3, UNINITIALIZED_VALUE -dangling_deref/dpd.c, intraprocdpd, 3, DANGLING_POINTER_DEREFERENCE -dangling_deref/dpd.c, intraprocdpd, 3, UNINITIALIZED_VALUE -dangling_deref/dpd.c, nodpd, 2, RETURN_VALUE_IGNORED -dangling_deref/dpd.c, nodpd1, 3, NULL_DEREFERENCE -dangling_deref/dpd.c, nodpd1, 3, RETURN_VALUE_IGNORED -enumeration/other_enum.c, other_enum_test, 4, DIVIDE_BY_ZERO -initialization/compound_literal.c, divide_by_zero, 0, DIVIDE_BY_ZERO -initialization/initlistexpr.c, init_divide_by_zero, 2, Assert_failure -initialization/initlistexpr.c, init_divide_by_zero, 2, DIVIDE_BY_ZERO -lists/lists.c, call_delete_all2, 5, PRECONDITION_NOT_MET -lists/lists.c, lists_main, 2, DIVIDE_BY_ZERO -local_vars/local_vars.c, m1, 6, DIVIDE_BY_ZERO -local_vars/local_vars.c, m2, 9, DIVIDE_BY_ZERO -local_vars/local_vars.c, mm, 6, DIVIDE_BY_ZERO -local_vars/local_vars.c, t, 8, DIVIDE_BY_ZERO -memory_leaks/test.c, common_realloc_leak, 3, MEMORY_LEAK -memory_leaks/test.c, conditional_last_instruction, 2, MEMORY_LEAK -memory_leaks/test.c, simple_leak, 2, MEMORY_LEAK -memory_leaks/test.c, uses_allocator, 3, MEMORY_LEAK -null_dereference/angelism.c, bake, 2, NULL_DEREFERENCE -null_dereference/angelism.c, call_by_ref_actual_already_in_footprint_bad, 1, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_by_ref_callee_write_no_skip, 3, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_by_ref_callee_write_skip, 4, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_by_ref_ptr_write, 4, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_from_pointer_skip_bad, 3, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_skip_null_deref, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_clearerr, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_feof, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_ferror, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_fgetc, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_fgetpos, 5, NULL_DEREFERENCE -null_dereference/getc.c, crash_fgets, 5, NULL_DEREFERENCE -null_dereference/getc.c, crash_fileno, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_fprintf, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_fputc, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_fputs, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_fseeks, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_fsetpos, 5, NULL_DEREFERENCE -null_dereference/getc.c, crash_ftell, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_getc, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_putc, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_rewind, 4, NULL_DEREFERENCE -null_dereference/getc.c, crash_ungetc, 5, NULL_DEREFERENCE -null_dereference/getc.c, crash_ungetc, 5, RETURN_VALUE_IGNORED -null_dereference/getc.c, crash_vfprintf, 5, NULL_DEREFERENCE -null_dereference/getc.c, nocrash_ungetc, 5, RETURN_VALUE_IGNORED -null_dereference/malloc_no_null_check.c, test_malloc, 2, NULL_DEREFERENCE -null_dereference/memcpy-test.c, testError1, 3, NULL_DEREFERENCE -null_dereference/memcpy-test.c, testError2, 5, NULL_DEREFERENCE -null_dereference/memcpy-test.c, testError3, 4, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, basic_null_dereference, 2, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, function_call_can_return_null_pointer, 3, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, no_check_for_null_after_malloc, 3, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, no_check_for_null_after_realloc, 9, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, null_passed_as_argument, 1, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, null_pointer_interproc, 2, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, null_pointer_with_function_pointer, 4, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, potentially_null_pointer_passed_as_argument, 3, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, simple_null_pointer, 2, NULL_DEREFERENCE -null_dereference/short.c, f_error, 2, NULL_DEREFERENCE -null_dereference/short.c, f_error, 2, NULL_TEST_AFTER_DEREFERENCE -null_dereference/short.c, g_error, 2, NULL_DEREFERENCE -null_dereference/short.c, g_error, 2, NULL_TEST_AFTER_DEREFERENCE -null_dereference/short.c, l_error, 2, NULL_DEREFERENCE -null_dereference/short.c, m, 2, NULL_TEST_AFTER_DEREFERENCE -offsetof_expr/offsetof_expr.c, test_offsetof_expr, 3, DIVIDE_BY_ZERO -offsetof_expr/offsetof_expr.c, test_offsetof_expr, 5, DIVIDE_BY_ZERO -resource_leaks/leak.c, fileNotClosed, 5, RESOURCE_LEAK -resource_leaks/leak.c, socketNotClosed, 5, RESOURCE_LEAK -vaarg_expr/vaarg_expr.c, vaarg_foo, 6, DIVIDE_BY_ZERO -vaarg_expr/vaarg_expr.c, vaarg_foo, 8, DIVIDE_BY_ZERO +codetoanalyze/c/errors/arithmetic/array_out_of_bounds.c, bound_error, 2, ARRAY_OUT_OF_BOUNDS_L1 +codetoanalyze/c/errors/arithmetic/array_out_of_bounds.c, bound_error_nested, 2, ARRAY_OUT_OF_BOUNDS_L1 +codetoanalyze/c/errors/arithmetic/divide_by_zero.c, arith_divide_by_zero, 3, DIVIDE_BY_ZERO +codetoanalyze/c/errors/arithmetic/unsigned_values.c, signed_array, 3, DIVIDE_BY_ZERO +codetoanalyze/c/errors/arithmetic/unsigned_values.c, signed_field, 3, DIVIDE_BY_ZERO +codetoanalyze/c/errors/arithmetic/unsigned_values.c, signed_int, 3, DIVIDE_BY_ZERO +codetoanalyze/c/errors/arithmetic/unsigned_values.c, signed_int_ptr, 3, DIVIDE_BY_ZERO +codetoanalyze/c/errors/assertions/assertion_example.c, report_div0_and_no_npe, 2, DIVIDE_BY_ZERO +codetoanalyze/c/errors/assertions/assertion_failure.c, assertion_failure_with_heap, 7, ASSERTION_FAILURE +codetoanalyze/c/errors/assertions/assertion_failure.c, assignemt_before_check, 3, ASSERTION_FAILURE +codetoanalyze/c/errors/assertions/assertion_failure.c, failure_on_both_branches, 6, ASSERTION_FAILURE +codetoanalyze/c/errors/assertions/assertion_failure.c, should_report_assertion_failure, 3, ASSERTION_FAILURE +codetoanalyze/c/errors/assertions/assertion_failure.c, simple_assertion_failure, 3, ASSERTION_FAILURE +codetoanalyze/c/errors/attributes/sentinel.c, truncated_call, 5, PREMATURE_NIL_TERMINATION_ARGUMENT +codetoanalyze/c/errors/custom_error/custom.c, paf, 3, UNEXPECTED_NEGATIVE_EXPONENT +codetoanalyze/c/errors/custom_error/custom.c, pouf, 3, UNEXPECTED_NEGATIVE_EXPONENT +codetoanalyze/c/errors/dangling_deref/dpd.c, dpd, 3, DANGLING_POINTER_DEREFERENCE +codetoanalyze/c/errors/dangling_deref/dpd.c, dpd, 3, RETURN_VALUE_IGNORED +codetoanalyze/c/errors/dangling_deref/dpd.c, dpd, 3, UNINITIALIZED_VALUE +codetoanalyze/c/errors/dangling_deref/dpd.c, intraprocdpd, 3, DANGLING_POINTER_DEREFERENCE +codetoanalyze/c/errors/dangling_deref/dpd.c, intraprocdpd, 3, UNINITIALIZED_VALUE +codetoanalyze/c/errors/dangling_deref/dpd.c, nodpd, 2, RETURN_VALUE_IGNORED +codetoanalyze/c/errors/dangling_deref/dpd.c, nodpd1, 3, NULL_DEREFERENCE +codetoanalyze/c/errors/dangling_deref/dpd.c, nodpd1, 3, RETURN_VALUE_IGNORED +codetoanalyze/c/errors/enumeration/other_enum.c, other_enum_test, 4, DIVIDE_BY_ZERO +codetoanalyze/c/errors/initialization/compound_literal.c, divide_by_zero, 0, DIVIDE_BY_ZERO +codetoanalyze/c/errors/initialization/initlistexpr.c, init_divide_by_zero, 2, Assert_failure +codetoanalyze/c/errors/initialization/initlistexpr.c, init_divide_by_zero, 2, DIVIDE_BY_ZERO +codetoanalyze/c/errors/lists/lists.c, call_delete_all2, 5, PRECONDITION_NOT_MET +codetoanalyze/c/errors/lists/lists.c, lists_main, 2, DIVIDE_BY_ZERO +codetoanalyze/c/errors/local_vars/local_vars.c, m1, 6, DIVIDE_BY_ZERO +codetoanalyze/c/errors/local_vars/local_vars.c, m2, 9, DIVIDE_BY_ZERO +codetoanalyze/c/errors/local_vars/local_vars.c, mm, 6, DIVIDE_BY_ZERO +codetoanalyze/c/errors/local_vars/local_vars.c, t, 8, DIVIDE_BY_ZERO +codetoanalyze/c/errors/memory_leaks/test.c, common_realloc_leak, 3, MEMORY_LEAK +codetoanalyze/c/errors/memory_leaks/test.c, conditional_last_instruction, 2, MEMORY_LEAK +codetoanalyze/c/errors/memory_leaks/test.c, simple_leak, 2, MEMORY_LEAK +codetoanalyze/c/errors/memory_leaks/test.c, uses_allocator, 3, MEMORY_LEAK +codetoanalyze/c/errors/null_dereference/angelism.c, bake, 2, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/angelism.c, call_by_ref_actual_already_in_footprint_bad, 1, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/angelism.c, struct_value_by_ref_callee_write_no_skip, 3, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/angelism.c, struct_value_by_ref_callee_write_skip, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/angelism.c, struct_value_by_ref_ptr_write, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/angelism.c, struct_value_from_pointer_skip_bad, 3, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/angelism.c, struct_value_skip_null_deref, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_clearerr, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_feof, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_ferror, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_fgetc, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_fgetpos, 5, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_fgets, 5, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_fileno, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_fprintf, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_fputc, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_fputs, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_fseeks, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_fsetpos, 5, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_ftell, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_getc, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_putc, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_rewind, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_ungetc, 5, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, crash_ungetc, 5, RETURN_VALUE_IGNORED +codetoanalyze/c/errors/null_dereference/getc.c, crash_vfprintf, 5, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/getc.c, nocrash_ungetc, 5, RETURN_VALUE_IGNORED +codetoanalyze/c/errors/null_dereference/malloc_no_null_check.c, test_malloc, 2, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/memcpy-test.c, testError1, 3, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/memcpy-test.c, testError2, 5, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/memcpy-test.c, testError3, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/null_pointer_dereference.c, basic_null_dereference, 2, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/null_pointer_dereference.c, function_call_can_return_null_pointer, 3, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/null_pointer_dereference.c, no_check_for_null_after_malloc, 3, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/null_pointer_dereference.c, no_check_for_null_after_realloc, 9, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/null_pointer_dereference.c, null_passed_as_argument, 1, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/null_pointer_dereference.c, null_pointer_interproc, 2, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/null_pointer_dereference.c, null_pointer_with_function_pointer, 4, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/null_pointer_dereference.c, potentially_null_pointer_passed_as_argument, 3, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/null_pointer_dereference.c, simple_null_pointer, 2, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/short.c, f_error, 2, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/short.c, f_error, 2, NULL_TEST_AFTER_DEREFERENCE +codetoanalyze/c/errors/null_dereference/short.c, g_error, 2, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/short.c, g_error, 2, NULL_TEST_AFTER_DEREFERENCE +codetoanalyze/c/errors/null_dereference/short.c, l_error, 2, NULL_DEREFERENCE +codetoanalyze/c/errors/null_dereference/short.c, m, 2, NULL_TEST_AFTER_DEREFERENCE +codetoanalyze/c/errors/offsetof_expr/offsetof_expr.c, test_offsetof_expr, 3, DIVIDE_BY_ZERO +codetoanalyze/c/errors/offsetof_expr/offsetof_expr.c, test_offsetof_expr, 5, DIVIDE_BY_ZERO +codetoanalyze/c/errors/resource_leaks/leak.c, fileNotClosed, 5, RESOURCE_LEAK +codetoanalyze/c/errors/resource_leaks/leak.c, socketNotClosed, 5, RESOURCE_LEAK +codetoanalyze/c/errors/vaarg_expr/vaarg_expr.c, vaarg_foo, 6, DIVIDE_BY_ZERO +codetoanalyze/c/errors/vaarg_expr/vaarg_expr.c, vaarg_foo, 8, DIVIDE_BY_ZERO diff --git a/infer/tests/codetoanalyze/c/frontend/Makefile b/infer/tests/codetoanalyze/c/frontend/Makefile index 63a73033a..c5d1e0bcb 100644 --- a/infer/tests/codetoanalyze/c/frontend/Makefile +++ b/infer/tests/codetoanalyze/c/frontend/Makefile @@ -19,4 +19,4 @@ compile: clang $(CLANG_OPTIONS) $(SOURCES) capture: - $(INFER_BIN) -a capture --frontend-tests --cxx -- clang $(CLANG_OPTIONS) $(SOURCES) + $(INFER_BIN) -a capture --frontend-tests --cxx --project-root $(TESTS_DIR) -- clang $(CLANG_OPTIONS) $(SOURCES) diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot index 4cb173de3..7c110c6d8 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n *&#GB$main_kDuration:int=3 [line 17]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n *&#GB$main_kDuration:int=3 [line 17]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot index 9a0fef841..cf3c5bc69 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot @@ -1,18 +1,18 @@ /* @generated */ digraph iCFG { -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:struct anonymous_struct_nestedoperators_union.c:12:1* [line 32]\n *n$3.a:int=1 [line 32]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:struct anonymous_struct_nestedoperators_union.c:12:1* [line 32]\n *n$3.a:int=1 [line 32]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n *&#GB$y.f:int=7 [line 33]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n *&#GB$y.f:int=7 [line 33]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 34]\n *&#GB$y.g.u:int=n$2 [line 34]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 34]\n *&#GB$y.g.u:int=n$2 [line 34]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:struct anonymous_struct_nestedoperators_union.c:12:1* [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int=n$1 [line 36]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:struct anonymous_struct_nestedoperators_union.c:12:1* [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int=n$1 [line 36]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.cpp.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.cpp.dot index cff59a720..d3155effc 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.cpp.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.cpp.dot @@ -1,18 +1,18 @@ /* @generated */ digraph iCFG { -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:class anonymous_struct_nestedoperators_union.cpp:12:1* [line 32]\n *n$3.a:int=1 [line 32]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:class anonymous_struct_nestedoperators_union.cpp:12:1* [line 32]\n *n$3.a:int=1 [line 32]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n *&#GB$y.f:int=7 [line 33]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n *&#GB$y.f:int=7 [line 33]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 34]\n *&#GB$y.g.u:int=n$2 [line 34]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 34]\n *&#GB$y.g.u:int=n$2 [line 34]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:class anonymous_struct_nestedoperators_union.cpp:12:1* [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int=n$1 [line 36]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:class anonymous_struct_nestedoperators_union.cpp:12:1* [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int=n$1 [line 36]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -34,7 +34,7 @@ digraph iCFG { "anonymous_union_nestedoperators_union.cpp:17:1_{_ZN3$_0C1Ev}.7872f3ad68b4dcc7dc45fed509da0ae0_1" -> "anonymous_union_nestedoperators_union.cpp:17:1_{_ZN3$_0C1Ev}.7872f3ad68b4dcc7dc45fed509da0ae0_2" ; -"__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" [label="3: DeclStmt \n _fun_anonymous_union_nestedoperators_union.cpp:17:1_(&#GB$y:class anonymous_union_nestedoperators_union.cpp:17:1*) [line 27]\n " shape="box"] +"__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" [label="3: DeclStmt \n _fun_anonymous_union_nestedoperators_union.cpp:17:1_(&#GB$y:class anonymous_union_nestedoperators_union.cpp:17:1*) [line 27]\n " shape="box"] "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" -> "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_2" ; diff --git a/infer/tests/codetoanalyze/cpp/checkers/Makefile b/infer/tests/codetoanalyze/cpp/checkers/Makefile index f75641d2e..7963c84cf 100644 --- a/infer/tests/codetoanalyze/cpp/checkers/Makefile +++ b/infer/tests/codetoanalyze/cpp/checkers/Makefile @@ -10,7 +10,7 @@ TESTS_DIR = ../../.. ANALYZER = checkers # see explanations in cpp/errors/Makefile for the custom isystem CLANG_OPTIONS = -x c++ -std=c++11 -nostdinc++ -isystem$(MODELS_DIR)/cpp/include -isystem$(CLANG_INCLUDES)/c++/v1/ -c -INFER_OPTIONS = --cxx --ml-buckets cpp --no-filtering --debug-exceptions +INFER_OPTIONS = --cxx --ml-buckets cpp --no-filtering --debug-exceptions --project-root $(TESTS_DIR) INFERPRINT_OPTIONS = --issues-tests SOURCES = \ diff --git a/infer/tests/codetoanalyze/cpp/checkers/issues.exp b/infer/tests/codetoanalyze/cpp/checkers/issues.exp index 4fd445d40..feaf6966a 100644 --- a/infer/tests/codetoanalyze/cpp/checkers/issues.exp +++ b/infer/tests/codetoanalyze/cpp/checkers/issues.exp @@ -1,10 +1,10 @@ -siof/siof.cpp, __infer_globals_initializer_X::static_pod_accesses_non_pod, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of X::static_pod_accesses_non_pod,call to access_to_non_pod,access to global_object2] -siof/siof.cpp, __infer_globals_initializer_another_global_object, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object,call to SomeOtherNonPODObject_SomeOtherNonPODObject,access to extern_global_object] -siof/siof.cpp, __infer_globals_initializer_another_global_object2, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object2,call to access_to_non_pod,access to global_object2] -siof/siof.cpp, __infer_globals_initializer_another_global_object3, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object3,call to access_to_templated_non_pod,access to global_object3] -siof/siof.cpp, __infer_globals_initializer_initWithGlobal, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of initWithGlobal,call to getGlobalNonPOD,access to global_object2] -siof/siof.cpp, __infer_globals_initializer_initWithStatic, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of initWithStatic,call to getFunctionStaticNonPOD,access to getFunctionStaticNonPOD_instance] -siof/siof.cpp, __infer_globals_initializer_pod_accesses_non_pod, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of pod_accesses_non_pod,call to access_to_non_pod,access to global_object2] -siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object,call to SomeOtherTemplatedNonPODObject<_Bool>_SomeOtherTemplatedNonPODObject,access to extern_global_object] -siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object2, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object2,call to access_to_non_pod,access to global_object2] -siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object3, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object3,call to access_to_templated_non_pod,access to global_object3] +codetoanalyze/cpp/checkers/siof/siof.cpp, __infer_globals_initializer_X::static_pod_accesses_non_pod, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of X::static_pod_accesses_non_pod,call to access_to_non_pod,access to global_object2] +codetoanalyze/cpp/checkers/siof/siof.cpp, __infer_globals_initializer_another_global_object, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object,call to SomeOtherNonPODObject_SomeOtherNonPODObject,access to extern_global_object] +codetoanalyze/cpp/checkers/siof/siof.cpp, __infer_globals_initializer_another_global_object2, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object2,call to access_to_non_pod,access to global_object2] +codetoanalyze/cpp/checkers/siof/siof.cpp, __infer_globals_initializer_another_global_object3, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object3,call to access_to_templated_non_pod,access to global_object3] +codetoanalyze/cpp/checkers/siof/siof.cpp, __infer_globals_initializer_initWithGlobal, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of initWithGlobal,call to getGlobalNonPOD,access to global_object2] +codetoanalyze/cpp/checkers/siof/siof.cpp, __infer_globals_initializer_initWithStatic, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of initWithStatic,call to getFunctionStaticNonPOD,access to getFunctionStaticNonPOD_instance] +codetoanalyze/cpp/checkers/siof/siof.cpp, __infer_globals_initializer_pod_accesses_non_pod, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of pod_accesses_non_pod,call to access_to_non_pod,access to global_object2] +codetoanalyze/cpp/checkers/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object,call to SomeOtherTemplatedNonPODObject<_Bool>_SomeOtherTemplatedNonPODObject,access to extern_global_object] +codetoanalyze/cpp/checkers/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object2, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object2,call to access_to_non_pod,access to global_object2] +codetoanalyze/cpp/checkers/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object3, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object3,call to access_to_templated_non_pod,access to global_object3] diff --git a/infer/tests/codetoanalyze/cpp/errors/Makefile b/infer/tests/codetoanalyze/cpp/errors/Makefile index fd1dfbc9b..32610a465 100644 --- a/infer/tests/codetoanalyze/cpp/errors/Makefile +++ b/infer/tests/codetoanalyze/cpp/errors/Makefile @@ -12,7 +12,7 @@ ANALYZER = infer # Use the system headers of our own clang. This way, we always use the same system headers # regardless of the libraries installed on the machine. CLANG_OPTIONS = -x c++ -std=c++11 -nostdinc++ -isystem$(ROOT_DIR) -isystem$(CLANG_INCLUDES)/c++/v1/ -c -INFER_OPTIONS = --cxx --ml-buckets cpp --no-filtering --debug-exceptions +INFER_OPTIONS = --cxx --ml-buckets cpp --no-filtering --debug-exceptions --project-root $(TESTS_DIR) INFERPRINT_OPTIONS = --issues-tests SOURCES = \ diff --git a/infer/tests/codetoanalyze/cpp/errors/issues.exp b/infer/tests/codetoanalyze/cpp/errors/issues.exp index 260069f37..49036faf1 100644 --- a/infer/tests/codetoanalyze/cpp/errors/issues.exp +++ b/infer/tests/codetoanalyze/cpp/errors/issues.exp @@ -1,286 +1,286 @@ -c_tests/c_bugs.cpp, crash_fgetc, 4, NULL_DEREFERENCE, [start of procedure crash_fgetc()] -c_tests/c_bugs.cpp, crash_fgetc, 4, RETURN_VALUE_IGNORED, [start of procedure crash_fgetc()] -c_tests/c_bugs.cpp, crash_getc, 4, NULL_DEREFERENCE, [start of procedure crash_getc()] -c_tests/c_bugs.cpp, crash_getc, 4, RETURN_VALUE_IGNORED, [start of procedure crash_getc()] -c_tests/c_bugs.cpp, malloc_fail_gets_reported, 2, NULL_DEREFERENCE, [start of procedure malloc_fail_gets_reported()] -c_tests/c_bugs.cpp, malloc_memory_leak_is_reported, 0, MEMORY_LEAK, [start of procedure malloc_memory_leak_is_reported()] -c_tests/c_bugs.cpp, memcpy_spec_is_found, 3, NULL_DEREFERENCE, [start of procedure memcpy_spec_is_found()] -c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RESOURCE_LEAK, [start of procedure resource_leak_is_reported()] -c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RETURN_VALUE_IGNORED, [start of procedure resource_leak_is_reported()] -include_header/header.h, header::A_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0] -include_header/header.h, header::div0_fun, 0, DIVIDE_BY_ZERO, [start of procedure header::div0_fun()] -include_header/header2.h, header2::B_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0] -include_header/header2.h, header2::B_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0] -include_header/header2.h, header2::div0_templ, 1, DIVIDE_BY_ZERO, [start of procedure header2::div0_templ()] -include_header/header2.h, header2::div0_templ, 1, DIVIDE_BY_ZERO, [start of procedure header2::div0_templ()] -memory_leaks/array_leak.cpp, leak, 4, MEMORY_LEAK, [start of procedure leak()] -memory_leaks/object_leak.cpp, object_leak, 0, MEMORY_LEAK, [start of procedure object_leak(),start of procedure Rectangle,return from a call to Rectangle_Rectangle] -memory_leaks/raii_malloc.cpp, memory_leak, 0, MEMORY_LEAK, [start of procedure memory_leak()] -models/move.cpp, move::div0_moved_from, 3, DIVIDE_BY_ZERO, [start of procedure move::div0_moved_from(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] -models/move.cpp, move::div0_moved_to, 3, DIVIDE_BY_ZERO, [start of procedure move::div0_moved_to(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_field_deref, 2, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_null_field_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref, 2, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_null_method_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref2, 2, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_null_method_deref2(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_ok_field_deref, 4, UNINITIALIZED_VALUE, [start of procedure boxed_ptr::smart_ptr_ok_field_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure X,return from a call to boxed_ptr::X_X,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_null_deref, 4, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_result_method_null_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure X,return from a call to boxed_ptr::X_X,start of procedure get,return from a call to boxed_ptr::SmartPtr_get,start of procedure getNull,return from a call to boxed_ptr::X_getNull] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_ok_deref, 4, UNINITIALIZED_VALUE, [start of procedure boxed_ptr::smart_ptr_result_method_ok_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure X,return from a call to boxed_ptr::X_X,start of procedure get,return from a call to boxed_ptr::SmartPtr_get,start of procedure getPtr,return from a call to boxed_ptr::X_getPtr] -npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe, 2, NULL_DEREFERENCE, [start of procedure npe_added_to_b1::causes_npe(),start of procedure npe_added_to_b1::deref_ref()] -npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe_person, 2, NULL_DEREFERENCE, [start of procedure npe_added_to_b1::causes_npe_person(),start of procedure Person,return from a call to npe_added_to_b1::Person_Person,start of procedure npe_added_to_b1::deref_person()] -npe/null_returned_by_method.cpp, testNullDeref, 3, NULL_DEREFERENCE, [start of procedure testNullDeref(),Condition is true,start of procedure getNull,return from a call to XFactory_getNull] -npe/object_deref.cpp, object_deref::derefNullField, 2, NULL_DEREFERENCE, [start of procedure object_deref::derefNullField(),start of procedure object_deref::getNull(),return from a call to object_deref::getNull] -npe/skip_function_with_const_formals.cpp, const_skip2_then_split_case, 5, MEMORY_LEAK, [start of procedure const_skip2_then_split_case(),start of procedure test_pointer(),Condition is true,return from a call to test_pointer,return from a call to const_skip2_then_split_case] -npe/skip_function_with_const_formals.cpp, const_skip_then_split_case, 6, MEMORY_LEAK, [start of procedure const_skip_then_split_case(),start of procedure test_pointer(),Condition is true,return from a call to test_pointer,return from a call to const_skip_then_split_case] -npe/skip_function_with_const_formals.cpp, skip_then_split_case, 2, MEMORY_LEAK, [start of procedure skip_then_split_case()] -npe/skip_function_with_const_formals.cpp, skip_then_split_case, 5, NULL_DEREFERENCE, [start of procedure skip_then_split_case(),start of procedure test_pointer(),Condition is false,return from a call to test_pointer] -npe/skip_function_with_const_formals.cpp, typedef_skip_then_split_case, 2, MEMORY_LEAK, [start of procedure typedef_skip_then_split_case()] -npe/skip_function_with_const_formals.cpp, typedef_skip_then_split_case, 4, NULL_DEREFERENCE, [start of procedure typedef_skip_then_split_case(),start of procedure test_pointer(),Condition is false,return from a call to test_pointer] -numeric/min_max.cpp, max_X_inv_div0, 2, DIVIDE_BY_ZERO, [start of procedure max_X_inv_div0(),start of procedure X_inv,return from a call to X_inv_X_inv,start of procedure X_inv,return from a call to X_inv_X_inv] -numeric/min_max.cpp, max_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure max_int_div0()] -numeric/min_max.cpp, min_X_div0, 2, DIVIDE_BY_ZERO, [start of procedure min_X_div0(),start of procedure X,return from a call to X_X,start of procedure X,return from a call to X_X] -numeric/min_max.cpp, min_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure min_int_div0()] -overwrite_attribute/main.cpp, testSetIntValue, 3, DIVIDE_BY_ZERO, [start of procedure testSetIntValue(),start of procedure setIntValue(),return from a call to setIntValue] -resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, [start of procedure resource_leak(),Condition is false] -shared/attributes/deprecated_hack.cpp, derefFirstArg2_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg2_null_deref()] -shared/attributes/deprecated_hack.cpp, derefFirstArg3_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg3_null_deref(),start of procedure derefFirstArg3()] -shared/attributes/deprecated_hack.cpp, derefFirstArg_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg_null_deref()] -shared/attributes/deprecated_hack.cpp, getPtr_null_deref1, 3, NULL_DEREFERENCE, [start of procedure getPtr_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -shared/attributes/deprecated_hack.cpp, getPtr_null_deref2, 3, NULL_DEREFERENCE, [start of procedure getPtr_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -shared/attributes/deprecated_hack.cpp, getRef_null_deref1, 3, NULL_DEREFERENCE, [start of procedure getRef_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -shared/attributes/deprecated_hack.cpp, getRef_null_deref2, 3, NULL_DEREFERENCE, [start of procedure getRef_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -shared/attributes/deprecated_hack.cpp, operator_star_null_deref1, 3, NULL_DEREFERENCE, [start of procedure operator_star_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -shared/attributes/deprecated_hack.cpp, operator_star_null_deref2, 3, NULL_DEREFERENCE, [start of procedure operator_star_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -shared/attributes/deprecated_hack.cpp, operator_star_ok_deref, 4, UNINITIALIZED_VALUE, [start of procedure operator_star_ok_deref(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -shared/conditional/lvalue_conditional.cpp, div0_assign_conditional, 0, DIVIDE_BY_ZERO, [start of procedure div0_assign_conditional(),start of procedure assign_conditional(),Condition is false,return from a call to assign_conditional] -shared/conditional/lvalue_conditional.cpp, div0_choose_lvalue, 0, DIVIDE_BY_ZERO, [start of procedure div0_choose_lvalue(),start of procedure choose_lvalue(),Condition is true,return from a call to choose_lvalue] -shared/conditional/lvalue_conditional.cpp, div0_choose_rvalue, 0, DIVIDE_BY_ZERO, [start of procedure div0_choose_rvalue(),start of procedure choose_rvalue(),Condition is true,return from a call to choose_rvalue] -shared/conditional/lvalue_conditional.cpp, div0_temp_lvalue, 0, DIVIDE_BY_ZERO, [start of procedure div0_temp_lvalue(),start of procedure div_temp_lvalue(),Condition is true] -shared/constructors/constructor_init.cpp, delegate_constr_f2_div0, 3, DIVIDE_BY_ZERO, [start of procedure delegate_constr_f2_div0(),start of procedure B,start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B,return from a call to B_B] -shared/constructors/constructor_init.cpp, delegate_constr_f_div0, 3, DIVIDE_BY_ZERO, [start of procedure delegate_constr_f_div0(),start of procedure B,start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B,return from a call to B_B] -shared/constructors/constructor_init.cpp, f2_div0, 2, DIVIDE_BY_ZERO, [start of procedure f2_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] -shared/constructors/constructor_init.cpp, f_div0, 2, DIVIDE_BY_ZERO, [start of procedure f_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] -shared/constructors/constructor_init.cpp, t_div0, 2, DIVIDE_BY_ZERO, [start of procedure t_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] -shared/constructors/constructor_new.cpp, constructor_new::array_of_class_with_not_constant_size, 1, MEMORY_LEAK, [start of procedure constructor_new::array_of_class_with_not_constant_size(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true] -shared/constructors/constructor_new.cpp, constructor_new::array_of_person_with_constant_size, 0, MEMORY_LEAK, [start of procedure constructor_new::array_of_person_with_constant_size(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] -shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] -shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, MEMORY_LEAK, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] -shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] -shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, MEMORY_LEAK, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] -shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person] -shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, MEMORY_LEAK, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person] -shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::float_init_number()] -shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, MEMORY_LEAK, [start of procedure constructor_new::float_init_number()] -shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] -shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, MEMORY_LEAK, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] -shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_array_init()] -shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, MEMORY_LEAK, [start of procedure constructor_new::int_array_init()] -shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty()] -shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty()] -shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty_list()] -shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty_list_new()] -shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty_list_new()] -shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 3, MEMORY_LEAK, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] -shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] -shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, MEMORY_LEAK, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] -shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_number()] -shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_number()] -shared/constructors/constructor_new.cpp, constructor_new::matrix_of_person, 2, MEMORY_LEAK, [start of procedure constructor_new::matrix_of_person(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] -shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] -shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0_default_constructor, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0_default_constructor(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] -shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyX_div0, 4, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::copyX_div0(),start of procedure X,return from a call to copy_move_constructor::X_X,start of procedure X,return from a call to copy_move_constructor::X_X] -shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyY_div0, 4, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::copyY_div0(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y] -shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveX_div0, 0, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::moveX_div0(),start of procedure copy_move_constructor::getX(),start of procedure X,return from a call to copy_move_constructor::X_X,start of procedure X,return from a call to copy_move_constructor::X_X,return from a call to copy_move_constructor::getX] -shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_div0, 0, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::moveY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y,return from a call to copy_move_constructor::getY] -shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_moveY_copyY_div0, 3, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::moveY_moveY_copyY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y,return from a call to copy_move_constructor::getY,start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y] -shared/constructors/temp_object.cpp, temp_object::assign_temp_div0, 2, DIVIDE_BY_ZERO, [start of procedure temp_object::assign_temp_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,start of procedure div] -shared/constructors/temp_object.cpp, temp_object::getX_field_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::getX_field_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,return from a call to temp_object::getX,start of procedure temp_object::div()] -shared/constructors/temp_object.cpp, temp_object::getX_method_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::getX_method_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,return from a call to temp_object::getX,start of procedure div] -shared/constructors/temp_object.cpp, temp_object::temp_field2_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::temp_field2_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure temp_object::div()] -shared/constructors/temp_object.cpp, temp_object::temp_field_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::temp_field_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure temp_object::div()] -shared/constructors/temp_object.cpp, temp_object::temp_method_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::temp_method_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure div] -shared/exceptions/Exceptions.cpp, call_deref_with_null, 0, NULL_DEREFERENCE, [start of procedure call_deref_with_null(),start of procedure deref_null()] -shared/lambda/lambda1.cpp, bar, 5, DIVIDE_BY_ZERO, [start of procedure bar(),start of procedure ,return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_,start of procedure operator(),return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_operator()] -shared/lambda/lambda1.cpp, foo, 3, DIVIDE_BY_ZERO, [start of procedure foo(),start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:19:17_,start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_,start of procedure operator(),return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_operator()] -shared/lambda/lambda1.cpp, foo::lambda_shared_lambda_lambda1.cpp:19:17_operator(), 0, DIVIDE_BY_ZERO, [start of procedure operator()] -shared/methods/conversion_operator.cpp, conversion_operator::branch_div0, 4, DIVIDE_BY_ZERO, [start of procedure conversion_operator::branch_div0(),start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] -shared/methods/conversion_operator.cpp, conversion_operator::y_branch_div0, 6, DIVIDE_BY_ZERO, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y_Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] -shared/methods/static.cpp, div0_class, 0, DIVIDE_BY_ZERO, [start of procedure div0_class(),start of procedure fun] -shared/methods/static.cpp, div0_instance, 2, DIVIDE_BY_ZERO, [start of procedure div0_instance(),start of procedure fun] -shared/methods/virtual_methods.cpp, poly_area, 3, DIVIDE_BY_ZERO, [start of procedure poly_area(),start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure area,return from a call to Polygon_area] -shared/methods/virtual_methods.cpp, rect_area, 4, DIVIDE_BY_ZERO, [start of procedure rect_area(),start of procedure Rectangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Rectangle_Rectangle,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Rectangle_area] -shared/methods/virtual_methods.cpp, tri_area, 5, DIVIDE_BY_ZERO, [start of procedure tri_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Triangle_area] -shared/methods/virtual_methods.cpp, tri_not_virtual_area, 5, DIVIDE_BY_ZERO, [start of procedure tri_not_virtual_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Polygon_area] -shared/namespace/function.cpp, div0_namespace_resolution, 0, DIVIDE_BY_ZERO, [start of procedure div0_namespace_resolution(),start of procedure f1::get(),return from a call to f1::get,start of procedure f2::get(),return from a call to f2::get] -shared/namespace/function.cpp, div0_using, 2, DIVIDE_BY_ZERO, [start of procedure div0_using(),start of procedure f1::get0(),return from a call to f1::get0] -shared/namespace/global_variable.cpp, div0_namepace_res, 3, DIVIDE_BY_ZERO, [start of procedure div0_namepace_res()] -shared/namespace/global_variable.cpp, div0_static_field, 3, DIVIDE_BY_ZERO, [start of procedure div0_static_field()] -shared/namespace/global_variable.cpp, div0_static_field_member_access, 3, DIVIDE_BY_ZERO, [start of procedure div0_static_field_member_access()] -shared/nestedoperators/var_decl_inside_if.cpp, conditional_init_div0, 2, DIVIDE_BY_ZERO, [start of procedure conditional_init_div0(),Condition is true,Condition is true] -shared/nestedoperators/var_decl_inside_if.cpp, function_call_init_div0, 2, DIVIDE_BY_ZERO, [start of procedure function_call_init_div0(),start of procedure get1(),return from a call to get1,Condition is true] -shared/nestedoperators/var_decl_inside_if.cpp, reference_init_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_init_div0(),Condition is true] -shared/nestedoperators/var_decl_inside_if.cpp, simple_inif_elseif_div0, 6, DIVIDE_BY_ZERO, [start of procedure simple_inif_elseif_div0(),Condition is false,Condition is false] -shared/nestedoperators/var_decl_inside_if.cpp, simple_init_div0, 4, DIVIDE_BY_ZERO, [start of procedure simple_init_div0(),Condition is false] -shared/nestedoperators/var_decl_inside_if.cpp, simple_init_null_deref, 4, NULL_DEREFERENCE, [start of procedure simple_init_null_deref(),Condition is false] -shared/npe/method_call.cpp, npe_call, 2, NULL_DEREFERENCE, [start of procedure npe_call()] -shared/npe/method_call.cpp, npe_call_after_call, 0, NULL_DEREFERENCE, [start of procedure npe_call_after_call(),start of procedure getX(),return from a call to getX] -shared/npe/method_call.cpp, npe_call_with_forward_declaration, 1, NULL_DEREFERENCE, [start of procedure npe_call_with_forward_declaration(),start of procedure call_with_forward_declaration()] -shared/reference/reference_field.cpp, reference_field::ptr_F_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr] -shared/reference/reference_field.cpp, reference_field::ptr_I_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr] -shared/reference/reference_field.cpp, reference_field::ptr_getF_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr,start of procedure getF,return from a call to reference_field::Ptr_getF] -shared/reference/reference_field.cpp, reference_field::ptr_getI_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr,start of procedure getI,return from a call to reference_field::Ptr_getI] -shared/reference/reference_field.cpp, reference_field::ref_F_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref] -shared/reference/reference_field.cpp, reference_field::ref_I_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref] -shared/reference/reference_field.cpp, reference_field::ref_getF_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref,start of procedure getF,return from a call to reference_field::Ref_getF] -shared/reference/reference_field.cpp, reference_field::ref_getI_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref,start of procedure getI,return from a call to reference_field::Ref_getI] -shared/reference/reference_field.cpp, reference_field::val_F_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val] -shared/reference/reference_field.cpp, reference_field::val_I_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val] -shared/reference/reference_field.cpp, reference_field::val_getF_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getF,return from a call to reference_field::Val_getF] -shared/reference/reference_field.cpp, reference_field::val_getI_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getI,return from a call to reference_field::Val_getI] -shared/reference/reference_struct_e2e.cpp, field_div0_ptr, 3, DIVIDE_BY_ZERO, [start of procedure field_div0_ptr(),Condition is true,start of procedure set_field_ptr(),return from a call to set_field_ptr,start of procedure div] -shared/reference/reference_struct_e2e.cpp, field_div0_ref, 2, DIVIDE_BY_ZERO, [start of procedure field_div0_ref(),start of procedure set_field_ref(),return from a call to set_field_ref,start of procedure div] -shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_field, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ptr_div0_field(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] -shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_method, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ptr_div0_method(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure zero,return from a call to X_zero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] -shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_field, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ref_div0_field(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] -shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_method, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ref_div0_method(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure zero,return from a call to X_zero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] -shared/reference/reference_struct_e2e.cpp, method_div0_ptr, 3, DIVIDE_BY_ZERO, [start of procedure method_div0_ptr(),Condition is true,start of procedure zero_ptr(),start of procedure zero,return from a call to X_zero,return from a call to zero_ptr,start of procedure div] -shared/reference/reference_struct_e2e.cpp, method_div0_ref, 2, DIVIDE_BY_ZERO, [start of procedure method_div0_ref(),start of procedure zero_ref(),start of procedure zero,return from a call to X_zero,return from a call to zero_ref,start of procedure div] -shared/reference/reference_type_e2e.cpp, ptr_div0, 4, DIVIDE_BY_ZERO, [start of procedure ptr_div0()] -shared/reference/reference_type_e2e.cpp, ptr_div0_function, 3, DIVIDE_BY_ZERO, [start of procedure ptr_div0_function(),start of procedure zero_ptr(),return from a call to zero_ptr] -shared/reference/reference_type_e2e.cpp, ptr_div0_function_temp_var, 4, DIVIDE_BY_ZERO, [start of procedure ptr_div0_function_temp_var(),start of procedure zero_ptr(),return from a call to zero_ptr] -shared/reference/reference_type_e2e.cpp, ref_div0, 4, DIVIDE_BY_ZERO, [start of procedure ref_div0()] -shared/reference/reference_type_e2e.cpp, ref_div0_function, 3, DIVIDE_BY_ZERO, [start of procedure ref_div0_function(),start of procedure zero_ref(),return from a call to zero_ref] -shared/reference/reference_type_e2e.cpp, ref_div0_function_temp_var, 4, DIVIDE_BY_ZERO, [start of procedure ref_div0_function_temp_var(),start of procedure zero_ref(),return from a call to zero_ref] -shared/reference/reference_type_e2e.cpp, ref_div0_nested_assignment, 6, DIVIDE_BY_ZERO, [start of procedure ref_div0_nested_assignment()] -shared/reference/temporary_lvalue.cpp, div0_function_param_cast, 0, DIVIDE_BY_ZERO, [start of procedure div0_function_param_cast(),start of procedure div()] -shared/reference/temporary_lvalue.cpp, div0_init_expr, 2, DIVIDE_BY_ZERO, [start of procedure div0_init_expr(),start of procedure div()] -shared/reference/temporary_lvalue.cpp, div0_no_const_ref, 2, DIVIDE_BY_ZERO, [start of procedure div0_no_const_ref(),start of procedure div()] -shared/templates/class_template_instantiate.cpp, ExecStore_call_div, 2, DIVIDE_BY_ZERO, [start of procedure call_div,start of procedure div] -shared/templates/class_template_instantiate.cpp, choose1_div0, 0, DIVIDE_BY_ZERO, [start of procedure choose1_div0(),start of procedure call_div,start of procedure div] -shared/templates/class_template_instantiate.cpp, choose2_div0_extra, 0, DIVIDE_BY_ZERO, [start of procedure choose2_div0_extra(),start of procedure extra] -shared/templates/function.cpp, function::createAndDiv, 1, DIVIDE_BY_ZERO, [start of procedure function::createAndDiv(),start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal,return from a call to function::createAndGetVal] -shared/templates/function.cpp, function::div0_create_and_get_val, 1, DIVIDE_BY_ZERO, [start of procedure function::div0_create_and_get_val(),start of procedure function::createAndGetVal(),start of procedure X1,return from a call to function::X1_X1,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1_getVal,return from a call to function::getVal,return from a call to function::createAndGetVal,start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal,return from a call to function::createAndGetVal] -shared/templates/function.cpp, function::div0_get_val, 3, DIVIDE_BY_ZERO, [start of procedure function::div0_get_val(),start of procedure X1,return from a call to function::X1_X1,start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1_getVal,return from a call to function::getVal,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal] -shared/templates/function_pack.cpp, div0_10args, 0, DIVIDE_BY_ZERO, [start of procedure div0_10args()] -shared/templates/function_pack.cpp, div0_1arg, 0, DIVIDE_BY_ZERO, [start of procedure div0_1arg(),start of procedure div()] -shared/templates/function_pack.cpp, div0_3args1, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args1()] -shared/templates/function_pack.cpp, div0_3args2, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args2()] -shared/templates/function_pack.cpp, div0_3args3, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args3(),start of procedure div(),start of procedure div(),start of procedure div()] -shared/templates/function_pack.cpp, div0_3args4, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args4(),start of procedure div(),start of procedure div(),start of procedure div()] -shared/templates/method.cpp, method::div0_getter, 3, DIVIDE_BY_ZERO, [start of procedure method::div0_getter(),start of procedure X2,return from a call to method::X2_X2,start of procedure Getter,return from a call to method::Getter_Getter,start of procedure get,start of procedure get,return from a call to method::X2_get,return from a call to method::Getter_get] -shared/templates/method.cpp, method::div0_getter_templ, 4, DIVIDE_BY_ZERO, [start of procedure method::div0_getter_templ(),start of procedure X2,return from a call to method::X2_X2,start of procedure X3,return from a call to method::X3_X3,start of procedure GetterTempl,return from a call to method::GetterTempl_GetterTempl,start of procedure get,start of procedure get,return from a call to method::X3_get,start of procedure get,return from a call to method::X2_get,return from a call to method::GetterTempl_get] -shared/templates/method.cpp, method::div0_getter_templ2, 4, DIVIDE_BY_ZERO, [start of procedure method::div0_getter_templ2(),start of procedure X2,return from a call to method::X2_X2,start of procedure X2,return from a call to method::X2_X2,start of procedure GetterTempl,return from a call to method::GetterTempl_GetterTempl,start of procedure get,start of procedure get,return from a call to method::X2_get,start of procedure get,return from a call to method::X2_get,return from a call to method::GetterTempl_get] -shared/types/inheritance_field.cpp, div0_b1, 2, DIVIDE_BY_ZERO, [start of procedure div0_b1()] -shared/types/inheritance_field.cpp, div0_b1_s, 3, DIVIDE_BY_ZERO, [start of procedure div0_b1_s()] -shared/types/inheritance_field.cpp, div0_b2, 2, DIVIDE_BY_ZERO, [start of procedure div0_b2()] -shared/types/inheritance_field.cpp, div0_cast, 3, DIVIDE_BY_ZERO, [start of procedure div0_cast()] -shared/types/inheritance_field.cpp, div0_cast_ref, 3, DIVIDE_BY_ZERO, [start of procedure div0_cast_ref()] -shared/types/inheritance_field.cpp, div0_s, 2, DIVIDE_BY_ZERO, [start of procedure div0_s()] -shared/types/inheritance_field.cpp, div0_s_b1, 3, DIVIDE_BY_ZERO, [start of procedure div0_s_b1()] -shared/types/operator_overload.cpp, div0_function_op, 3, DIVIDE_BY_ZERO, [start of procedure div0_function_op(),start of procedure operator*(),return from a call to operator*] -shared/types/operator_overload.cpp, div0_inheritted_op, 2, DIVIDE_BY_ZERO, [start of procedure div0_inheritted_op(),start of procedure operator[],return from a call to X_operator[]] -shared/types/operator_overload.cpp, div0_method, 3, DIVIDE_BY_ZERO, [start of procedure div0_method(),start of procedure operator[],return from a call to X_operator[]] -shared/types/operator_overload.cpp, div0_method_op, 3, DIVIDE_BY_ZERO, [start of procedure div0_method_op(),start of procedure operator[],return from a call to X_operator[]] -shared/types/operator_overload.cpp, div0_method_op_ptr, 0, DIVIDE_BY_ZERO, [start of procedure div0_method_op_ptr(),start of procedure operator[],return from a call to X_operator[]] -shared/types/return_struct.cpp, return_struct::get_div0, 2, DIVIDE_BY_ZERO, [start of procedure return_struct::get_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,return from a call to return_struct::get,start of procedure X,return from a call to return_struct::X_X] -shared/types/return_struct.cpp, return_struct::get_field_div0, 2, DIVIDE_BY_ZERO, [start of procedure return_struct::get_field_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,return from a call to return_struct::get,start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,return from a call to return_struct::get] -shared/types/return_struct.cpp, return_struct::get_method_div0, 0, DIVIDE_BY_ZERO, [start of procedure return_struct::get_method_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,return from a call to return_struct::get,start of procedure div] -shared/types/struct_forward_declare.cpp, struct_forward_declare::X_Y_div0, 7, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::X_Y_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,Condition is false,start of procedure getF,return from a call to struct_forward_declare::X_getF] -shared/types/struct_forward_declare.cpp, struct_forward_declare::X_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::X_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,start of procedure getF,return from a call to struct_forward_declare::X_getF] -shared/types/struct_forward_declare.cpp, struct_forward_declare::X_ptr_div0, 2, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::X_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::X_getF] -shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::Z_div0(),start of procedure Z,return from a call to struct_forward_declare::Z_Z,start of procedure getF,return from a call to struct_forward_declare::Z_getF] -shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_ptr_div0, 5, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::Z_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::Z_getF] -shared/types/struct_pass_by_value.cpp, struct_pass_by_value::field_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::field_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure Y,start of procedure X,return from a call to struct_pass_by_value::X_X,return from a call to struct_pass_by_value::Y_Y,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] -shared/types/struct_pass_by_value.cpp, struct_pass_by_value::param_get_copied_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::param_get_copied_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::set_f(),return from a call to struct_pass_by_value::set_f] -shared/types/struct_pass_by_value.cpp, struct_pass_by_value::temp_div0, 0, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::temp_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] -shared/types/struct_pass_by_value.cpp, struct_pass_by_value::var_div0, 2, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::var_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] -shared/types/typeid_expr.cpp, employee_typeid, 3, MEMORY_LEAK, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee] -shared/types/typeid_expr.cpp, employee_typeid, 4, DIVIDE_BY_ZERO, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee,Condition is true] -shared/types/typeid_expr.cpp, person_ptr_typeid, 2, MEMORY_LEAK, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person] -shared/types/typeid_expr.cpp, person_ptr_typeid, 3, DIVIDE_BY_ZERO, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person,Condition is true] -shared/types/typeid_expr.cpp, person_typeid, 3, MEMORY_LEAK, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person] -shared/types/typeid_expr.cpp, person_typeid, 6, DIVIDE_BY_ZERO, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person,Condition is false] -shared/types/typeid_expr.cpp, person_typeid_name, 3, MEMORY_LEAK, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] -shared/types/typeid_expr.cpp, person_typeid_name, 4, MEMORY_LEAK, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] -shared/types/typeid_expr.cpp, person_typeid_name, 8, DIVIDE_BY_ZERO, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person,Condition is false] -shared/types/typeid_expr.cpp, template_type_id_person, 2, MEMORY_LEAK, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person] -shared/types/typeid_expr.cpp, template_type_id_person, 5, DIVIDE_BY_ZERO, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person,Condition is false] -shared/types/typeid_expr.cpp, template_typeid, 2, MEMORY_LEAK, [start of procedure template_typeid(),start of procedure Person,return from a call to Person_Person,start of procedure Person,return from a call to Person_Person] -smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_crash, 4, NULL_DEREFERENCE, [start of procedure deref_after_mode_example::deref_after_move_crash(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,start of procedure access_age] -smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_ok, 4, MEMORY_LEAK, [start of procedure deref_after_mode_example::deref_after_move_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,return from a call to deref_after_mode_example::deref_after_move_ok] -smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_ok, 3, MEMORY_LEAK, [start of procedure deref_after_mode_example::deref_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure access_age,return from a call to deref_after_mode_example::Person_access_age,return from a call to deref_after_mode_example::deref_ok] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base2_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase2(),return from a call to shared_ptr_constructors::getFromBase2] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base2_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase2(),return from a call to shared_ptr_constructors::getFromBase2] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived1_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived1(),return from a call to shared_ptr_constructors::getFromDerived1] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived1(),return from a call to shared_ptr_constructors::getFromDerived1] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived2_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived2(),return from a call to shared_ptr_constructors::getFromDerived2] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived2_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived2(),return from a call to shared_ptr_constructors::getFromDerived2] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived3_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived3(),return from a call to shared_ptr_constructors::getFromDerived3] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived3_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived3(),return from a call to shared_ptr_constructors::getFromDerived3] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_field_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_field_deref2()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_method_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::nullptr_ptr_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::reset_ptr_null_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref2()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref2()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, [start of procedure shared_ptr::reset_ptr_null_deref2()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure shared_ptr::reset_ptr_ok_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref, 4, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_ok_deref(),return from a call to shared_ptr::reset_ptr_ok_deref] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref2, 4, UNINITIALIZED_VALUE, [start of procedure shared_ptr::reset_ptr_ok_deref2()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref2, 5, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_ok_deref2(),return from a call to shared_ptr::reset_ptr_ok_deref2] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_null_deref, 3, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_assign_null_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_null_deref, 4, NULL_DEREFERENCE, [start of procedure shared_ptr::shared_ptr_assign_null_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_ok_deref, 5, UNINITIALIZED_VALUE, [start of procedure shared_ptr::shared_ptr_assign_ok_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_ok_deref, 6, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_assign_ok_deref(),return from a call to shared_ptr::shared_ptr_assign_ok_deref] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::shared_ptr_copy_null_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure shared_ptr::shared_ptr_copy_ok_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_ok_deref, 4, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_copy_ok_deref(),return from a call to shared_ptr::shared_ptr_copy_ok_deref] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_move_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::shared_ptr_move_null_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_array_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_array_ptr_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_field_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_field_deref2()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_method_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_array_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::nullptr_array_ptr_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::nullptr_ptr_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::reset_ptr_null_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref2()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref2()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, [start of procedure unique_ptr::reset_ptr_null_deref2()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure unique_ptr::reset_ptr_ok_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref, 4, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_ok_deref(),return from a call to unique_ptr::reset_ptr_ok_deref] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref2, 4, UNINITIALIZED_VALUE, [start of procedure unique_ptr::reset_ptr_ok_deref2()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref2, 5, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_ok_deref2(),return from a call to unique_ptr::reset_ptr_ok_deref2] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_null_deref, 3, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_assign_null_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_null_deref, 4, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_assign_null_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_ok_deref, 5, UNINITIALIZED_VALUE, [start of procedure unique_ptr::unique_ptr_assign_ok_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_ok_deref, 6, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_assign_ok_deref(),return from a call to unique_ptr::unique_ptr_assign_ok_deref] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_copy_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_copy_null_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_move_null_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure unique_ptr::unique_ptr_move_ok_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 4, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_move_ok_deref(),return from a call to unique_ptr::unique_ptr_move_ok_deref] -subtyping/cast_with_enforce.cpp, cast_with_enforce::cast_with_npe, 3, NULL_DEREFERENCE, [start of procedure cast_with_enforce::cast_with_npe(),start of procedure Base,return from a call to cast_with_enforce::Base_Base] -subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] -subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, MEMORY_LEAK, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] -subtyping/dynamic_cast.cpp, dynamic__cast::rightReferenceCast, 2, MEMORY_LEAK, [start of procedure dynamic__cast::rightReferenceCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived] -subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentPointer, 2, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongCastOfArgumentPointer(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure dynamic__cast::castOfArgumentPointer(),Condition is false,return from a call to dynamic__cast::castOfArgumentPointer] -subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentReference, 2, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongCastOfArgumentReference(),start of procedure Base,return from a call to dynamic__cast::Base_Base] -subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 2, MEMORY_LEAK, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] -subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 6, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base,Condition is false] -subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCast, 3, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongReferenceCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] -subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCastNotAssigned, 3, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongReferenceCastNotAssigned(),start of procedure Base,return from a call to dynamic__cast::Base_Base] -subtyping/subtyping_check.cpp, B_setFG, 4, DIVIDE_BY_ZERO, [start of procedure setFG,start of procedure setF,return from a call to A_setF,Condition is true] -vector/empty_access.cpp, access_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure access_empty()] -vector/empty_access.cpp, assign_empty, 4, EMPTY_VECTOR_ACCESS, [start of procedure assign_empty()] -vector/empty_access.cpp, clear_empty, 3, EMPTY_VECTOR_ACCESS, [start of procedure clear_empty()] -vector/empty_access.cpp, copy_empty, 3, EMPTY_VECTOR_ACCESS, [start of procedure copy_empty()] -vector/empty_access.cpp, empty_check_access_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure empty_check_access_empty(),Condition is true] -vector/empty_access.cpp, getter_empty, 0, EMPTY_VECTOR_ACCESS, [start of procedure getter_empty(),start of procedure get_vector(),return from a call to get_vector] -vector/empty_access.cpp, size_check0_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure size_check0_empty(),Condition is true] -vector/empty_access.cpp, vector_as_param_by_value_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure vector_as_param_by_value_empty(),start of procedure vector_param_by_value_access()] -vector/empty_access.cpp, vector_as_param_clear, 3, EMPTY_VECTOR_ACCESS, [start of procedure vector_as_param_clear(),start of procedure vector_param_clear(),return from a call to vector_param_clear] -vector/empty_access.cpp, vector_as_param_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure vector_as_param_empty(),start of procedure vector_param_access()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_fgetc, 4, NULL_DEREFERENCE, [start of procedure crash_fgetc()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_fgetc, 4, RETURN_VALUE_IGNORED, [start of procedure crash_fgetc()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_getc, 4, NULL_DEREFERENCE, [start of procedure crash_getc()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_getc, 4, RETURN_VALUE_IGNORED, [start of procedure crash_getc()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, malloc_fail_gets_reported, 2, NULL_DEREFERENCE, [start of procedure malloc_fail_gets_reported()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, malloc_memory_leak_is_reported, 0, MEMORY_LEAK, [start of procedure malloc_memory_leak_is_reported()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, memcpy_spec_is_found, 3, NULL_DEREFERENCE, [start of procedure memcpy_spec_is_found()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RESOURCE_LEAK, [start of procedure resource_leak_is_reported()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RETURN_VALUE_IGNORED, [start of procedure resource_leak_is_reported()] +codetoanalyze/cpp/errors/include_header/header.h, header::A_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0] +codetoanalyze/cpp/errors/include_header/header.h, header::div0_fun, 0, DIVIDE_BY_ZERO, [start of procedure header::div0_fun()] +codetoanalyze/cpp/errors/include_header/header2.h, header2::B_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0] +codetoanalyze/cpp/errors/include_header/header2.h, header2::B_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0] +codetoanalyze/cpp/errors/include_header/header2.h, header2::div0_templ, 1, DIVIDE_BY_ZERO, [start of procedure header2::div0_templ()] +codetoanalyze/cpp/errors/include_header/header2.h, header2::div0_templ, 1, DIVIDE_BY_ZERO, [start of procedure header2::div0_templ()] +codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, leak, 4, MEMORY_LEAK, [start of procedure leak()] +codetoanalyze/cpp/errors/memory_leaks/object_leak.cpp, object_leak, 0, MEMORY_LEAK, [start of procedure object_leak(),start of procedure Rectangle,return from a call to Rectangle_Rectangle] +codetoanalyze/cpp/errors/memory_leaks/raii_malloc.cpp, memory_leak, 0, MEMORY_LEAK, [start of procedure memory_leak()] +codetoanalyze/cpp/errors/models/move.cpp, move::div0_moved_from, 3, DIVIDE_BY_ZERO, [start of procedure move::div0_moved_from(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] +codetoanalyze/cpp/errors/models/move.cpp, move::div0_moved_to, 3, DIVIDE_BY_ZERO, [start of procedure move::div0_moved_to(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_field_deref, 2, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_null_field_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref, 2, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_null_method_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref2, 2, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_null_method_deref2(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_ok_field_deref, 4, UNINITIALIZED_VALUE, [start of procedure boxed_ptr::smart_ptr_ok_field_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure X,return from a call to boxed_ptr::X_X,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_null_deref, 4, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_result_method_null_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure X,return from a call to boxed_ptr::X_X,start of procedure get,return from a call to boxed_ptr::SmartPtr_get,start of procedure getNull,return from a call to boxed_ptr::X_getNull] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_ok_deref, 4, UNINITIALIZED_VALUE, [start of procedure boxed_ptr::smart_ptr_result_method_ok_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure X,return from a call to boxed_ptr::X_X,start of procedure get,return from a call to boxed_ptr::SmartPtr_get,start of procedure getPtr,return from a call to boxed_ptr::X_getPtr] +codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe, 2, NULL_DEREFERENCE, [start of procedure npe_added_to_b1::causes_npe(),start of procedure npe_added_to_b1::deref_ref()] +codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe_person, 2, NULL_DEREFERENCE, [start of procedure npe_added_to_b1::causes_npe_person(),start of procedure Person,return from a call to npe_added_to_b1::Person_Person,start of procedure npe_added_to_b1::deref_person()] +codetoanalyze/cpp/errors/npe/null_returned_by_method.cpp, testNullDeref, 3, NULL_DEREFERENCE, [start of procedure testNullDeref(),Condition is true,start of procedure getNull,return from a call to XFactory_getNull] +codetoanalyze/cpp/errors/npe/object_deref.cpp, object_deref::derefNullField, 2, NULL_DEREFERENCE, [start of procedure object_deref::derefNullField(),start of procedure object_deref::getNull(),return from a call to object_deref::getNull] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, const_skip2_then_split_case, 5, MEMORY_LEAK, [start of procedure const_skip2_then_split_case(),start of procedure test_pointer(),Condition is true,return from a call to test_pointer,return from a call to const_skip2_then_split_case] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, const_skip_then_split_case, 6, MEMORY_LEAK, [start of procedure const_skip_then_split_case(),start of procedure test_pointer(),Condition is true,return from a call to test_pointer,return from a call to const_skip_then_split_case] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, skip_then_split_case, 2, MEMORY_LEAK, [start of procedure skip_then_split_case()] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, skip_then_split_case, 5, NULL_DEREFERENCE, [start of procedure skip_then_split_case(),start of procedure test_pointer(),Condition is false,return from a call to test_pointer] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, typedef_skip_then_split_case, 2, MEMORY_LEAK, [start of procedure typedef_skip_then_split_case()] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, typedef_skip_then_split_case, 4, NULL_DEREFERENCE, [start of procedure typedef_skip_then_split_case(),start of procedure test_pointer(),Condition is false,return from a call to test_pointer] +codetoanalyze/cpp/errors/numeric/min_max.cpp, max_X_inv_div0, 2, DIVIDE_BY_ZERO, [start of procedure max_X_inv_div0(),start of procedure X_inv,return from a call to X_inv_X_inv,start of procedure X_inv,return from a call to X_inv_X_inv] +codetoanalyze/cpp/errors/numeric/min_max.cpp, max_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure max_int_div0()] +codetoanalyze/cpp/errors/numeric/min_max.cpp, min_X_div0, 2, DIVIDE_BY_ZERO, [start of procedure min_X_div0(),start of procedure X,return from a call to X_X,start of procedure X,return from a call to X_X] +codetoanalyze/cpp/errors/numeric/min_max.cpp, min_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure min_int_div0()] +codetoanalyze/cpp/errors/overwrite_attribute/main.cpp, testSetIntValue, 3, DIVIDE_BY_ZERO, [start of procedure testSetIntValue(),start of procedure setIntValue(),return from a call to setIntValue] +codetoanalyze/cpp/errors/resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, [start of procedure resource_leak(),Condition is false] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, derefFirstArg2_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg2_null_deref()] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, derefFirstArg3_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg3_null_deref(),start of procedure derefFirstArg3()] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, derefFirstArg_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg_null_deref()] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, getPtr_null_deref1, 3, NULL_DEREFERENCE, [start of procedure getPtr_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, getPtr_null_deref2, 3, NULL_DEREFERENCE, [start of procedure getPtr_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, getRef_null_deref1, 3, NULL_DEREFERENCE, [start of procedure getRef_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, getRef_null_deref2, 3, NULL_DEREFERENCE, [start of procedure getRef_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, operator_star_null_deref1, 3, NULL_DEREFERENCE, [start of procedure operator_star_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, operator_star_null_deref2, 3, NULL_DEREFERENCE, [start of procedure operator_star_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/errors/shared/attributes/deprecated_hack.cpp, operator_star_ok_deref, 4, UNINITIALIZED_VALUE, [start of procedure operator_star_ok_deref(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/errors/shared/conditional/lvalue_conditional.cpp, div0_assign_conditional, 0, DIVIDE_BY_ZERO, [start of procedure div0_assign_conditional(),start of procedure assign_conditional(),Condition is false,return from a call to assign_conditional] +codetoanalyze/cpp/errors/shared/conditional/lvalue_conditional.cpp, div0_choose_lvalue, 0, DIVIDE_BY_ZERO, [start of procedure div0_choose_lvalue(),start of procedure choose_lvalue(),Condition is true,return from a call to choose_lvalue] +codetoanalyze/cpp/errors/shared/conditional/lvalue_conditional.cpp, div0_choose_rvalue, 0, DIVIDE_BY_ZERO, [start of procedure div0_choose_rvalue(),start of procedure choose_rvalue(),Condition is true,return from a call to choose_rvalue] +codetoanalyze/cpp/errors/shared/conditional/lvalue_conditional.cpp, div0_temp_lvalue, 0, DIVIDE_BY_ZERO, [start of procedure div0_temp_lvalue(),start of procedure div_temp_lvalue(),Condition is true] +codetoanalyze/cpp/errors/shared/constructors/constructor_init.cpp, delegate_constr_f2_div0, 3, DIVIDE_BY_ZERO, [start of procedure delegate_constr_f2_div0(),start of procedure B,start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B,return from a call to B_B] +codetoanalyze/cpp/errors/shared/constructors/constructor_init.cpp, delegate_constr_f_div0, 3, DIVIDE_BY_ZERO, [start of procedure delegate_constr_f_div0(),start of procedure B,start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B,return from a call to B_B] +codetoanalyze/cpp/errors/shared/constructors/constructor_init.cpp, f2_div0, 2, DIVIDE_BY_ZERO, [start of procedure f2_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] +codetoanalyze/cpp/errors/shared/constructors/constructor_init.cpp, f_div0, 2, DIVIDE_BY_ZERO, [start of procedure f_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] +codetoanalyze/cpp/errors/shared/constructors/constructor_init.cpp, t_div0, 2, DIVIDE_BY_ZERO, [start of procedure t_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::array_of_class_with_not_constant_size, 1, MEMORY_LEAK, [start of procedure constructor_new::array_of_class_with_not_constant_size(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::array_of_person_with_constant_size, 0, MEMORY_LEAK, [start of procedure constructor_new::array_of_person_with_constant_size(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, MEMORY_LEAK, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, MEMORY_LEAK, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, MEMORY_LEAK, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::float_init_number()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, MEMORY_LEAK, [start of procedure constructor_new::float_init_number()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, MEMORY_LEAK, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_array_init()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, MEMORY_LEAK, [start of procedure constructor_new::int_array_init()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty_list()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty_list_new()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty_list_new()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 3, MEMORY_LEAK, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, MEMORY_LEAK, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_number()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_number()] +codetoanalyze/cpp/errors/shared/constructors/constructor_new.cpp, constructor_new::matrix_of_person, 2, MEMORY_LEAK, [start of procedure constructor_new::matrix_of_person(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/errors/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] +codetoanalyze/cpp/errors/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0_default_constructor, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0_default_constructor(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] +codetoanalyze/cpp/errors/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyX_div0, 4, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::copyX_div0(),start of procedure X,return from a call to copy_move_constructor::X_X,start of procedure X,return from a call to copy_move_constructor::X_X] +codetoanalyze/cpp/errors/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyY_div0, 4, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::copyY_div0(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y] +codetoanalyze/cpp/errors/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveX_div0, 0, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::moveX_div0(),start of procedure copy_move_constructor::getX(),start of procedure X,return from a call to copy_move_constructor::X_X,start of procedure X,return from a call to copy_move_constructor::X_X,return from a call to copy_move_constructor::getX] +codetoanalyze/cpp/errors/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_div0, 0, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::moveY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y,return from a call to copy_move_constructor::getY] +codetoanalyze/cpp/errors/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_moveY_copyY_div0, 3, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::moveY_moveY_copyY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y,return from a call to copy_move_constructor::getY,start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y] +codetoanalyze/cpp/errors/shared/constructors/temp_object.cpp, temp_object::assign_temp_div0, 2, DIVIDE_BY_ZERO, [start of procedure temp_object::assign_temp_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,start of procedure div] +codetoanalyze/cpp/errors/shared/constructors/temp_object.cpp, temp_object::getX_field_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::getX_field_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,return from a call to temp_object::getX,start of procedure temp_object::div()] +codetoanalyze/cpp/errors/shared/constructors/temp_object.cpp, temp_object::getX_method_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::getX_method_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,return from a call to temp_object::getX,start of procedure div] +codetoanalyze/cpp/errors/shared/constructors/temp_object.cpp, temp_object::temp_field2_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::temp_field2_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure temp_object::div()] +codetoanalyze/cpp/errors/shared/constructors/temp_object.cpp, temp_object::temp_field_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::temp_field_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure temp_object::div()] +codetoanalyze/cpp/errors/shared/constructors/temp_object.cpp, temp_object::temp_method_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::temp_method_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure div] +codetoanalyze/cpp/errors/shared/exceptions/Exceptions.cpp, call_deref_with_null, 0, NULL_DEREFERENCE, [start of procedure call_deref_with_null(),start of procedure deref_null()] +codetoanalyze/cpp/errors/shared/lambda/lambda1.cpp, bar, 5, DIVIDE_BY_ZERO, [start of procedure bar(),start of procedure ,return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_,start of procedure operator(),return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_operator()] +codetoanalyze/cpp/errors/shared/lambda/lambda1.cpp, foo, 3, DIVIDE_BY_ZERO, [start of procedure foo(),start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:19:17_,start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_,start of procedure operator(),return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_operator()] +codetoanalyze/cpp/errors/shared/lambda/lambda1.cpp, foo::lambda_shared_lambda_lambda1.cpp:19:17_operator(), 0, DIVIDE_BY_ZERO, [start of procedure operator()] +codetoanalyze/cpp/errors/shared/methods/conversion_operator.cpp, conversion_operator::branch_div0, 4, DIVIDE_BY_ZERO, [start of procedure conversion_operator::branch_div0(),start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] +codetoanalyze/cpp/errors/shared/methods/conversion_operator.cpp, conversion_operator::y_branch_div0, 6, DIVIDE_BY_ZERO, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y_Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] +codetoanalyze/cpp/errors/shared/methods/static.cpp, div0_class, 0, DIVIDE_BY_ZERO, [start of procedure div0_class(),start of procedure fun] +codetoanalyze/cpp/errors/shared/methods/static.cpp, div0_instance, 2, DIVIDE_BY_ZERO, [start of procedure div0_instance(),start of procedure fun] +codetoanalyze/cpp/errors/shared/methods/virtual_methods.cpp, poly_area, 3, DIVIDE_BY_ZERO, [start of procedure poly_area(),start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure area,return from a call to Polygon_area] +codetoanalyze/cpp/errors/shared/methods/virtual_methods.cpp, rect_area, 4, DIVIDE_BY_ZERO, [start of procedure rect_area(),start of procedure Rectangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Rectangle_Rectangle,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Rectangle_area] +codetoanalyze/cpp/errors/shared/methods/virtual_methods.cpp, tri_area, 5, DIVIDE_BY_ZERO, [start of procedure tri_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Triangle_area] +codetoanalyze/cpp/errors/shared/methods/virtual_methods.cpp, tri_not_virtual_area, 5, DIVIDE_BY_ZERO, [start of procedure tri_not_virtual_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Polygon_area] +codetoanalyze/cpp/errors/shared/namespace/function.cpp, div0_namespace_resolution, 0, DIVIDE_BY_ZERO, [start of procedure div0_namespace_resolution(),start of procedure f1::get(),return from a call to f1::get,start of procedure f2::get(),return from a call to f2::get] +codetoanalyze/cpp/errors/shared/namespace/function.cpp, div0_using, 2, DIVIDE_BY_ZERO, [start of procedure div0_using(),start of procedure f1::get0(),return from a call to f1::get0] +codetoanalyze/cpp/errors/shared/namespace/global_variable.cpp, div0_namepace_res, 3, DIVIDE_BY_ZERO, [start of procedure div0_namepace_res()] +codetoanalyze/cpp/errors/shared/namespace/global_variable.cpp, div0_static_field, 3, DIVIDE_BY_ZERO, [start of procedure div0_static_field()] +codetoanalyze/cpp/errors/shared/namespace/global_variable.cpp, div0_static_field_member_access, 3, DIVIDE_BY_ZERO, [start of procedure div0_static_field_member_access()] +codetoanalyze/cpp/errors/shared/nestedoperators/var_decl_inside_if.cpp, conditional_init_div0, 2, DIVIDE_BY_ZERO, [start of procedure conditional_init_div0(),Condition is true,Condition is true] +codetoanalyze/cpp/errors/shared/nestedoperators/var_decl_inside_if.cpp, function_call_init_div0, 2, DIVIDE_BY_ZERO, [start of procedure function_call_init_div0(),start of procedure get1(),return from a call to get1,Condition is true] +codetoanalyze/cpp/errors/shared/nestedoperators/var_decl_inside_if.cpp, reference_init_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_init_div0(),Condition is true] +codetoanalyze/cpp/errors/shared/nestedoperators/var_decl_inside_if.cpp, simple_inif_elseif_div0, 6, DIVIDE_BY_ZERO, [start of procedure simple_inif_elseif_div0(),Condition is false,Condition is false] +codetoanalyze/cpp/errors/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_div0, 4, DIVIDE_BY_ZERO, [start of procedure simple_init_div0(),Condition is false] +codetoanalyze/cpp/errors/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_null_deref, 4, NULL_DEREFERENCE, [start of procedure simple_init_null_deref(),Condition is false] +codetoanalyze/cpp/errors/shared/npe/method_call.cpp, npe_call, 2, NULL_DEREFERENCE, [start of procedure npe_call()] +codetoanalyze/cpp/errors/shared/npe/method_call.cpp, npe_call_after_call, 0, NULL_DEREFERENCE, [start of procedure npe_call_after_call(),start of procedure getX(),return from a call to getX] +codetoanalyze/cpp/errors/shared/npe/method_call.cpp, npe_call_with_forward_declaration, 1, NULL_DEREFERENCE, [start of procedure npe_call_with_forward_declaration(),start of procedure call_with_forward_declaration()] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::ptr_F_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::ptr_I_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::ptr_getF_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr,start of procedure getF,return from a call to reference_field::Ptr_getF] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::ptr_getI_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr,start of procedure getI,return from a call to reference_field::Ptr_getI] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::ref_F_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::ref_I_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::ref_getF_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref,start of procedure getF,return from a call to reference_field::Ref_getF] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::ref_getI_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref,start of procedure getI,return from a call to reference_field::Ref_getI] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::val_F_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::val_I_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::val_getF_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getF,return from a call to reference_field::Val_getF] +codetoanalyze/cpp/errors/shared/reference/reference_field.cpp, reference_field::val_getI_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getI,return from a call to reference_field::Val_getI] +codetoanalyze/cpp/errors/shared/reference/reference_struct_e2e.cpp, field_div0_ptr, 3, DIVIDE_BY_ZERO, [start of procedure field_div0_ptr(),Condition is true,start of procedure set_field_ptr(),return from a call to set_field_ptr,start of procedure div] +codetoanalyze/cpp/errors/shared/reference/reference_struct_e2e.cpp, field_div0_ref, 2, DIVIDE_BY_ZERO, [start of procedure field_div0_ref(),start of procedure set_field_ref(),return from a call to set_field_ref,start of procedure div] +codetoanalyze/cpp/errors/shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_field, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ptr_div0_field(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] +codetoanalyze/cpp/errors/shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_method, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ptr_div0_method(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure zero,return from a call to X_zero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] +codetoanalyze/cpp/errors/shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_field, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ref_div0_field(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] +codetoanalyze/cpp/errors/shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_method, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ref_div0_method(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure zero,return from a call to X_zero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] +codetoanalyze/cpp/errors/shared/reference/reference_struct_e2e.cpp, method_div0_ptr, 3, DIVIDE_BY_ZERO, [start of procedure method_div0_ptr(),Condition is true,start of procedure zero_ptr(),start of procedure zero,return from a call to X_zero,return from a call to zero_ptr,start of procedure div] +codetoanalyze/cpp/errors/shared/reference/reference_struct_e2e.cpp, method_div0_ref, 2, DIVIDE_BY_ZERO, [start of procedure method_div0_ref(),start of procedure zero_ref(),start of procedure zero,return from a call to X_zero,return from a call to zero_ref,start of procedure div] +codetoanalyze/cpp/errors/shared/reference/reference_type_e2e.cpp, ptr_div0, 4, DIVIDE_BY_ZERO, [start of procedure ptr_div0()] +codetoanalyze/cpp/errors/shared/reference/reference_type_e2e.cpp, ptr_div0_function, 3, DIVIDE_BY_ZERO, [start of procedure ptr_div0_function(),start of procedure zero_ptr(),return from a call to zero_ptr] +codetoanalyze/cpp/errors/shared/reference/reference_type_e2e.cpp, ptr_div0_function_temp_var, 4, DIVIDE_BY_ZERO, [start of procedure ptr_div0_function_temp_var(),start of procedure zero_ptr(),return from a call to zero_ptr] +codetoanalyze/cpp/errors/shared/reference/reference_type_e2e.cpp, ref_div0, 4, DIVIDE_BY_ZERO, [start of procedure ref_div0()] +codetoanalyze/cpp/errors/shared/reference/reference_type_e2e.cpp, ref_div0_function, 3, DIVIDE_BY_ZERO, [start of procedure ref_div0_function(),start of procedure zero_ref(),return from a call to zero_ref] +codetoanalyze/cpp/errors/shared/reference/reference_type_e2e.cpp, ref_div0_function_temp_var, 4, DIVIDE_BY_ZERO, [start of procedure ref_div0_function_temp_var(),start of procedure zero_ref(),return from a call to zero_ref] +codetoanalyze/cpp/errors/shared/reference/reference_type_e2e.cpp, ref_div0_nested_assignment, 6, DIVIDE_BY_ZERO, [start of procedure ref_div0_nested_assignment()] +codetoanalyze/cpp/errors/shared/reference/temporary_lvalue.cpp, div0_function_param_cast, 0, DIVIDE_BY_ZERO, [start of procedure div0_function_param_cast(),start of procedure div()] +codetoanalyze/cpp/errors/shared/reference/temporary_lvalue.cpp, div0_init_expr, 2, DIVIDE_BY_ZERO, [start of procedure div0_init_expr(),start of procedure div()] +codetoanalyze/cpp/errors/shared/reference/temporary_lvalue.cpp, div0_no_const_ref, 2, DIVIDE_BY_ZERO, [start of procedure div0_no_const_ref(),start of procedure div()] +codetoanalyze/cpp/errors/shared/templates/class_template_instantiate.cpp, ExecStore_call_div, 2, DIVIDE_BY_ZERO, [start of procedure call_div,start of procedure div] +codetoanalyze/cpp/errors/shared/templates/class_template_instantiate.cpp, choose1_div0, 0, DIVIDE_BY_ZERO, [start of procedure choose1_div0(),start of procedure call_div,start of procedure div] +codetoanalyze/cpp/errors/shared/templates/class_template_instantiate.cpp, choose2_div0_extra, 0, DIVIDE_BY_ZERO, [start of procedure choose2_div0_extra(),start of procedure extra] +codetoanalyze/cpp/errors/shared/templates/function.cpp, function::createAndDiv, 1, DIVIDE_BY_ZERO, [start of procedure function::createAndDiv(),start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal,return from a call to function::createAndGetVal] +codetoanalyze/cpp/errors/shared/templates/function.cpp, function::div0_create_and_get_val, 1, DIVIDE_BY_ZERO, [start of procedure function::div0_create_and_get_val(),start of procedure function::createAndGetVal(),start of procedure X1,return from a call to function::X1_X1,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1_getVal,return from a call to function::getVal,return from a call to function::createAndGetVal,start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal,return from a call to function::createAndGetVal] +codetoanalyze/cpp/errors/shared/templates/function.cpp, function::div0_get_val, 3, DIVIDE_BY_ZERO, [start of procedure function::div0_get_val(),start of procedure X1,return from a call to function::X1_X1,start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1_getVal,return from a call to function::getVal,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal] +codetoanalyze/cpp/errors/shared/templates/function_pack.cpp, div0_10args, 0, DIVIDE_BY_ZERO, [start of procedure div0_10args()] +codetoanalyze/cpp/errors/shared/templates/function_pack.cpp, div0_1arg, 0, DIVIDE_BY_ZERO, [start of procedure div0_1arg(),start of procedure div()] +codetoanalyze/cpp/errors/shared/templates/function_pack.cpp, div0_3args1, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args1()] +codetoanalyze/cpp/errors/shared/templates/function_pack.cpp, div0_3args2, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args2()] +codetoanalyze/cpp/errors/shared/templates/function_pack.cpp, div0_3args3, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args3(),start of procedure div(),start of procedure div(),start of procedure div()] +codetoanalyze/cpp/errors/shared/templates/function_pack.cpp, div0_3args4, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args4(),start of procedure div(),start of procedure div(),start of procedure div()] +codetoanalyze/cpp/errors/shared/templates/method.cpp, method::div0_getter, 3, DIVIDE_BY_ZERO, [start of procedure method::div0_getter(),start of procedure X2,return from a call to method::X2_X2,start of procedure Getter,return from a call to method::Getter_Getter,start of procedure get,start of procedure get,return from a call to method::X2_get,return from a call to method::Getter_get] +codetoanalyze/cpp/errors/shared/templates/method.cpp, method::div0_getter_templ, 4, DIVIDE_BY_ZERO, [start of procedure method::div0_getter_templ(),start of procedure X2,return from a call to method::X2_X2,start of procedure X3,return from a call to method::X3_X3,start of procedure GetterTempl,return from a call to method::GetterTempl_GetterTempl,start of procedure get,start of procedure get,return from a call to method::X3_get,start of procedure get,return from a call to method::X2_get,return from a call to method::GetterTempl_get] +codetoanalyze/cpp/errors/shared/templates/method.cpp, method::div0_getter_templ2, 4, DIVIDE_BY_ZERO, [start of procedure method::div0_getter_templ2(),start of procedure X2,return from a call to method::X2_X2,start of procedure X2,return from a call to method::X2_X2,start of procedure GetterTempl,return from a call to method::GetterTempl_GetterTempl,start of procedure get,start of procedure get,return from a call to method::X2_get,start of procedure get,return from a call to method::X2_get,return from a call to method::GetterTempl_get] +codetoanalyze/cpp/errors/shared/types/inheritance_field.cpp, div0_b1, 2, DIVIDE_BY_ZERO, [start of procedure div0_b1()] +codetoanalyze/cpp/errors/shared/types/inheritance_field.cpp, div0_b1_s, 3, DIVIDE_BY_ZERO, [start of procedure div0_b1_s()] +codetoanalyze/cpp/errors/shared/types/inheritance_field.cpp, div0_b2, 2, DIVIDE_BY_ZERO, [start of procedure div0_b2()] +codetoanalyze/cpp/errors/shared/types/inheritance_field.cpp, div0_cast, 3, DIVIDE_BY_ZERO, [start of procedure div0_cast()] +codetoanalyze/cpp/errors/shared/types/inheritance_field.cpp, div0_cast_ref, 3, DIVIDE_BY_ZERO, [start of procedure div0_cast_ref()] +codetoanalyze/cpp/errors/shared/types/inheritance_field.cpp, div0_s, 2, DIVIDE_BY_ZERO, [start of procedure div0_s()] +codetoanalyze/cpp/errors/shared/types/inheritance_field.cpp, div0_s_b1, 3, DIVIDE_BY_ZERO, [start of procedure div0_s_b1()] +codetoanalyze/cpp/errors/shared/types/operator_overload.cpp, div0_function_op, 3, DIVIDE_BY_ZERO, [start of procedure div0_function_op(),start of procedure operator*(),return from a call to operator*] +codetoanalyze/cpp/errors/shared/types/operator_overload.cpp, div0_inheritted_op, 2, DIVIDE_BY_ZERO, [start of procedure div0_inheritted_op(),start of procedure operator[],return from a call to X_operator[]] +codetoanalyze/cpp/errors/shared/types/operator_overload.cpp, div0_method, 3, DIVIDE_BY_ZERO, [start of procedure div0_method(),start of procedure operator[],return from a call to X_operator[]] +codetoanalyze/cpp/errors/shared/types/operator_overload.cpp, div0_method_op, 3, DIVIDE_BY_ZERO, [start of procedure div0_method_op(),start of procedure operator[],return from a call to X_operator[]] +codetoanalyze/cpp/errors/shared/types/operator_overload.cpp, div0_method_op_ptr, 0, DIVIDE_BY_ZERO, [start of procedure div0_method_op_ptr(),start of procedure operator[],return from a call to X_operator[]] +codetoanalyze/cpp/errors/shared/types/return_struct.cpp, return_struct::get_div0, 2, DIVIDE_BY_ZERO, [start of procedure return_struct::get_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,return from a call to return_struct::get,start of procedure X,return from a call to return_struct::X_X] +codetoanalyze/cpp/errors/shared/types/return_struct.cpp, return_struct::get_field_div0, 2, DIVIDE_BY_ZERO, [start of procedure return_struct::get_field_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,return from a call to return_struct::get,start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,return from a call to return_struct::get] +codetoanalyze/cpp/errors/shared/types/return_struct.cpp, return_struct::get_method_div0, 0, DIVIDE_BY_ZERO, [start of procedure return_struct::get_method_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,return from a call to return_struct::get,start of procedure div] +codetoanalyze/cpp/errors/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_Y_div0, 7, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::X_Y_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,Condition is false,start of procedure getF,return from a call to struct_forward_declare::X_getF] +codetoanalyze/cpp/errors/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::X_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,start of procedure getF,return from a call to struct_forward_declare::X_getF] +codetoanalyze/cpp/errors/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_ptr_div0, 2, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::X_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::X_getF] +codetoanalyze/cpp/errors/shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::Z_div0(),start of procedure Z,return from a call to struct_forward_declare::Z_Z,start of procedure getF,return from a call to struct_forward_declare::Z_getF] +codetoanalyze/cpp/errors/shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_ptr_div0, 5, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::Z_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::Z_getF] +codetoanalyze/cpp/errors/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::field_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::field_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure Y,start of procedure X,return from a call to struct_pass_by_value::X_X,return from a call to struct_pass_by_value::Y_Y,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] +codetoanalyze/cpp/errors/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::param_get_copied_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::param_get_copied_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::set_f(),return from a call to struct_pass_by_value::set_f] +codetoanalyze/cpp/errors/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::temp_div0, 0, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::temp_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] +codetoanalyze/cpp/errors/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::var_div0, 2, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::var_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, employee_typeid, 3, MEMORY_LEAK, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, employee_typeid, 4, DIVIDE_BY_ZERO, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee,Condition is true] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, person_ptr_typeid, 2, MEMORY_LEAK, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, person_ptr_typeid, 3, DIVIDE_BY_ZERO, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person,Condition is true] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, person_typeid, 3, MEMORY_LEAK, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, person_typeid, 6, DIVIDE_BY_ZERO, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person,Condition is false] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, person_typeid_name, 3, MEMORY_LEAK, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, person_typeid_name, 4, MEMORY_LEAK, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, person_typeid_name, 8, DIVIDE_BY_ZERO, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person,Condition is false] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, template_type_id_person, 2, MEMORY_LEAK, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, template_type_id_person, 5, DIVIDE_BY_ZERO, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person,Condition is false] +codetoanalyze/cpp/errors/shared/types/typeid_expr.cpp, template_typeid, 2, MEMORY_LEAK, [start of procedure template_typeid(),start of procedure Person,return from a call to Person_Person,start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_crash, 4, NULL_DEREFERENCE, [start of procedure deref_after_mode_example::deref_after_move_crash(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,start of procedure access_age] +codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_ok, 4, MEMORY_LEAK, [start of procedure deref_after_mode_example::deref_after_move_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,return from a call to deref_after_mode_example::deref_after_move_ok] +codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_ok, 3, MEMORY_LEAK, [start of procedure deref_after_mode_example::deref_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure access_age,return from a call to deref_after_mode_example::Person_access_age,return from a call to deref_after_mode_example::deref_ok] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base2_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase2(),return from a call to shared_ptr_constructors::getFromBase2] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base2_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase2(),return from a call to shared_ptr_constructors::getFromBase2] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived1_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived1(),return from a call to shared_ptr_constructors::getFromDerived1] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived1(),return from a call to shared_ptr_constructors::getFromDerived1] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived2_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived2(),return from a call to shared_ptr_constructors::getFromDerived2] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived2_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived2(),return from a call to shared_ptr_constructors::getFromDerived2] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived3_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived3(),return from a call to shared_ptr_constructors::getFromDerived3] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived3_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived3(),return from a call to shared_ptr_constructors::getFromDerived3] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_field_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_field_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_method_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::nullptr_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::reset_ptr_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, [start of procedure shared_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure shared_ptr::reset_ptr_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref, 4, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_ok_deref(),return from a call to shared_ptr::reset_ptr_ok_deref] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref2, 4, UNINITIALIZED_VALUE, [start of procedure shared_ptr::reset_ptr_ok_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref2, 5, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_ok_deref2(),return from a call to shared_ptr::reset_ptr_ok_deref2] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_null_deref, 3, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_assign_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_null_deref, 4, NULL_DEREFERENCE, [start of procedure shared_ptr::shared_ptr_assign_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_ok_deref, 5, UNINITIALIZED_VALUE, [start of procedure shared_ptr::shared_ptr_assign_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_ok_deref, 6, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_assign_ok_deref(),return from a call to shared_ptr::shared_ptr_assign_ok_deref] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::shared_ptr_copy_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure shared_ptr::shared_ptr_copy_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_ok_deref, 4, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_copy_ok_deref(),return from a call to shared_ptr::shared_ptr_copy_ok_deref] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_move_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::shared_ptr_move_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_array_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_array_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_field_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_field_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_method_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_array_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::nullptr_array_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::nullptr_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::reset_ptr_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, [start of procedure unique_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure unique_ptr::reset_ptr_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref, 4, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_ok_deref(),return from a call to unique_ptr::reset_ptr_ok_deref] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref2, 4, UNINITIALIZED_VALUE, [start of procedure unique_ptr::reset_ptr_ok_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref2, 5, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_ok_deref2(),return from a call to unique_ptr::reset_ptr_ok_deref2] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_null_deref, 3, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_assign_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_null_deref, 4, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_assign_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_ok_deref, 5, UNINITIALIZED_VALUE, [start of procedure unique_ptr::unique_ptr_assign_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_ok_deref, 6, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_assign_ok_deref(),return from a call to unique_ptr::unique_ptr_assign_ok_deref] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_copy_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_copy_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_move_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure unique_ptr::unique_ptr_move_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 4, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_move_ok_deref(),return from a call to unique_ptr::unique_ptr_move_ok_deref] +codetoanalyze/cpp/errors/subtyping/cast_with_enforce.cpp, cast_with_enforce::cast_with_npe, 3, NULL_DEREFERENCE, [start of procedure cast_with_enforce::cast_with_npe(),start of procedure Base,return from a call to cast_with_enforce::Base_Base] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, MEMORY_LEAK, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightReferenceCast, 2, MEMORY_LEAK, [start of procedure dynamic__cast::rightReferenceCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentPointer, 2, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongCastOfArgumentPointer(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure dynamic__cast::castOfArgumentPointer(),Condition is false,return from a call to dynamic__cast::castOfArgumentPointer] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentReference, 2, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongCastOfArgumentReference(),start of procedure Base,return from a call to dynamic__cast::Base_Base] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 2, MEMORY_LEAK, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 6, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base,Condition is false] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCast, 3, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongReferenceCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCastNotAssigned, 3, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongReferenceCastNotAssigned(),start of procedure Base,return from a call to dynamic__cast::Base_Base] +codetoanalyze/cpp/errors/subtyping/subtyping_check.cpp, B_setFG, 4, DIVIDE_BY_ZERO, [start of procedure setFG,start of procedure setF,return from a call to A_setF,Condition is true] +codetoanalyze/cpp/errors/vector/empty_access.cpp, access_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure access_empty()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, assign_empty, 4, EMPTY_VECTOR_ACCESS, [start of procedure assign_empty()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, clear_empty, 3, EMPTY_VECTOR_ACCESS, [start of procedure clear_empty()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, copy_empty, 3, EMPTY_VECTOR_ACCESS, [start of procedure copy_empty()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, empty_check_access_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure empty_check_access_empty(),Condition is true] +codetoanalyze/cpp/errors/vector/empty_access.cpp, getter_empty, 0, EMPTY_VECTOR_ACCESS, [start of procedure getter_empty(),start of procedure get_vector(),return from a call to get_vector] +codetoanalyze/cpp/errors/vector/empty_access.cpp, size_check0_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure size_check0_empty(),Condition is true] +codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_by_value_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure vector_as_param_by_value_empty(),start of procedure vector_param_by_value_access()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_clear, 3, EMPTY_VECTOR_ACCESS, [start of procedure vector_as_param_clear(),start of procedure vector_param_clear(),return from a call to vector_param_clear] +codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure vector_as_param_empty(),start of procedure vector_param_access()] diff --git a/infer/tests/codetoanalyze/cpp/frontend/Makefile b/infer/tests/codetoanalyze/cpp/frontend/Makefile index 75929bc65..bf9bafed4 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/Makefile +++ b/infer/tests/codetoanalyze/cpp/frontend/Makefile @@ -20,4 +20,4 @@ compile: clang $(CLANG_OPTIONS) $(SOURCES) capture: - $(INFER_BIN) -a capture --frontend-tests --cxx --headers -- clang $(CLANG_OPTIONS) $(SOURCES) + $(INFER_BIN) -a capture --frontend-tests --cxx --headers --project-root $(TESTS_DIR) -- clang $(CLANG_OPTIONS) $(SOURCES) diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot index 5bb292727..f17c9bfa3 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n _fun_X_X(&#GB$global:class X*) [line 13]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n _fun_X_X(&#GB$global:class X*) [line 13]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -18,7 +18,7 @@ digraph iCFG { "X_X{_ZN1XC1ERKS_}.abc525d74d1815a6e1a874d1ed502de3_1" -> "X_X{_ZN1XC1ERKS_}.abc525d74d1815a6e1a874d1ed502de3_2" ; -"test{d41d8cd98f00b204e9800998ecf8427e_Z4testv}.8c08101fe48ee96867ff8578442d10bc_3" [label="3: Return Stmt \n n$0=*&__return_param:class X* [line 15]\n _fun_X_X(&#GB$global:class X*) [line 13]\n _fun_X_X(n$0:class X*,&#GB$global:class X&) [line 15]\n " shape="box"] +"test{d41d8cd98f00b204e9800998ecf8427e_Z4testv}.8c08101fe48ee96867ff8578442d10bc_3" [label="3: Return Stmt \n n$0=*&__return_param:class X* [line 15]\n _fun_X_X(&#GB$global:class X*) [line 13]\n _fun_X_X(n$0:class X*,&#GB$global:class X&) [line 15]\n " shape="box"] "test{d41d8cd98f00b204e9800998ecf8427e_Z4testv}.8c08101fe48ee96867ff8578442d10bc_3" -> "test{d41d8cd98f00b204e9800998ecf8427e_Z4testv}.8c08101fe48ee96867ff8578442d10bc_2" ; @@ -36,7 +36,7 @@ digraph iCFG { "X_X{_ZN1XC1Ev}.dbc1390b15606562094682699e12caba_1" -> "X_X{_ZN1XC1Ev}.dbc1390b15606562094682699e12caba_2" ; -"__infer_globals_initializer_v.4e4b88201c5f529e31ed314500b0b0e5_3" [label="3: DeclStmt \n *&#GB$v:int=2 [line 17]\n " shape="box"] +"__infer_globals_initializer_v.4e4b88201c5f529e31ed314500b0b0e5_3" [label="3: DeclStmt \n *&#GB$v:int=2 [line 17]\n " shape="box"] "__infer_globals_initializer_v.4e4b88201c5f529e31ed314500b0b0e5_3" -> "__infer_globals_initializer_v.4e4b88201c5f529e31ed314500b0b0e5_2" ; @@ -47,11 +47,11 @@ digraph iCFG { "__infer_globals_initializer_v.4e4b88201c5f529e31ed314500b0b0e5_1" -> "__infer_globals_initializer_v.4e4b88201c5f529e31ed314500b0b0e5_3" ; -"test2{d41d8cd98f00b204e9800998ecf8427e_Z5test2v}.cf7940edefd4df119b2c0c269e6b062c_4" [label="4: DeclStmt \n *&#GB$v:int=2 [line 20]\n n$1=*&#GB$v:int [line 20]\n *&local:int=n$1 [line 20]\n " shape="box"] +"test2{d41d8cd98f00b204e9800998ecf8427e_Z5test2v}.cf7940edefd4df119b2c0c269e6b062c_4" [label="4: DeclStmt \n *&#GB$v:int=2 [line 20]\n n$1=*&#GB$v:int [line 20]\n *&local:int=n$1 [line 20]\n " shape="box"] "test2{d41d8cd98f00b204e9800998ecf8427e_Z5test2v}.cf7940edefd4df119b2c0c269e6b062c_4" -> "test2{d41d8cd98f00b204e9800998ecf8427e_Z5test2v}.cf7940edefd4df119b2c0c269e6b062c_3" ; -"test2{d41d8cd98f00b204e9800998ecf8427e_Z5test2v}.cf7940edefd4df119b2c0c269e6b062c_3" [label="3: Return Stmt \n *&#GB$v:int=2 [line 21]\n n$0=*&#GB$v:int [line 21]\n *&return:int=n$0 [line 21]\n " shape="box"] +"test2{d41d8cd98f00b204e9800998ecf8427e_Z5test2v}.cf7940edefd4df119b2c0c269e6b062c_3" [label="3: Return Stmt \n *&#GB$v:int=2 [line 21]\n n$0=*&#GB$v:int [line 21]\n *&return:int=n$0 [line 21]\n " shape="box"] "test2{d41d8cd98f00b204e9800998ecf8427e_Z5test2v}.cf7940edefd4df119b2c0c269e6b062c_3" -> "test2{d41d8cd98f00b204e9800998ecf8427e_Z5test2v}.cf7940edefd4df119b2c0c269e6b062c_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot index 7fed39485..fd7aaca15 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" [label="8: DeclStmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&#GB$global:int=n$1 [line 10]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" [label="8: DeclStmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&#GB$global:int=n$1 [line 10]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -32,7 +32,7 @@ digraph iCFG { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_1" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_4" ; "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_1" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_5" ; -"test{d41d8cd98f00b204e9800998ecf8427e_Z4testv}.8c08101fe48ee96867ff8578442d10bc_8" [label="8: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&#GB$global:int=n$1 [line 11]\n n$2=*&#GB$global:int [line 11]\n *&return:int=n$2 [line 11]\n " shape="box"] +"test{d41d8cd98f00b204e9800998ecf8427e_Z4testv}.8c08101fe48ee96867ff8578442d10bc_8" [label="8: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&#GB$global:int=n$1 [line 11]\n n$2=*&#GB$global:int [line 11]\n *&return:int=n$2 [line 11]\n " shape="box"] "test{d41d8cd98f00b204e9800998ecf8427e_Z4testv}.8c08101fe48ee96867ff8578442d10bc_8" -> "test{d41d8cd98f00b204e9800998ecf8427e_Z4testv}.8c08101fe48ee96867ff8578442d10bc_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot index 475cd3dfa..bd65d3daa 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"__infer_globals_initializer_x.90ed5779794b6c6f0b00544949bb1047_3" [label="3: DeclStmt \n n$0=_fun_foo() [line 14]\n *&#GB$x:int=(n$0 + 5) [line 14]\n " shape="box"] +"__infer_globals_initializer_x.90ed5779794b6c6f0b00544949bb1047_3" [label="3: DeclStmt \n n$0=_fun_foo() [line 14]\n *&#GB$x:int=(n$0 + 5) [line 14]\n " shape="box"] "__infer_globals_initializer_x.90ed5779794b6c6f0b00544949bb1047_3" -> "__infer_globals_initializer_x.90ed5779794b6c6f0b00544949bb1047_2" ; @@ -11,7 +11,7 @@ digraph iCFG { "__infer_globals_initializer_x.90ed5779794b6c6f0b00544949bb1047_1" -> "__infer_globals_initializer_x.90ed5779794b6c6f0b00544949bb1047_3" ; -"__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" [label="3: DeclStmt \n n$0=*&#GB$x:int [line 15]\n n$1=*&#GB$z:int [line 15]\n *&#GB$y:int=((n$0 + n$1) + 1) [line 15]\n " shape="box"] +"__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" [label="3: DeclStmt \n n$0=*&#GB$x:int [line 15]\n n$1=*&#GB$z:int [line 15]\n *&#GB$y:int=((n$0 + n$1) + 1) [line 15]\n " shape="box"] "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" -> "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_2" ; diff --git a/infer/tests/codetoanalyze/cpp/quandary/Makefile b/infer/tests/codetoanalyze/cpp/quandary/Makefile index f29ca991e..dc373ef9b 100644 --- a/infer/tests/codetoanalyze/cpp/quandary/Makefile +++ b/infer/tests/codetoanalyze/cpp/quandary/Makefile @@ -10,7 +10,7 @@ TESTS_DIR = ../../.. ANALYZER = quandary # see explanations in cpp/errors/Makefile for the custom isystem CLANG_OPTIONS = -x c++ -std=c++11 -nostdinc++ -isystem$(ROOT_DIR) -isystem$(CLANG_INCLUDES)/c++/v1/ -c -INFER_OPTIONS = --cxx --ml-buckets cpp --no-filtering --debug-exceptions +INFER_OPTIONS = --cxx --ml-buckets cpp --no-filtering --debug-exceptions --project-root $(TESTS_DIR) INFERPRINT_OPTIONS = --issues-tests SOURCES = \ diff --git a/infer/tests/codetoanalyze/cpp/quandary/issues.exp b/infer/tests/codetoanalyze/cpp/quandary/issues.exp index 6bad7bae2..df449caaa 100644 --- a/infer/tests/codetoanalyze/cpp/quandary/issues.exp +++ b/infer/tests/codetoanalyze/cpp/quandary/issues.exp @@ -1,15 +1,15 @@ -basics.cpp, basics::propagateBad, 3, QUANDARY_TAINT_ERROR, [return from __infer_taint_source,flow through basics::id,call to basics::callSink,call to __infer_taint_sink] -basics.cpp, basics::returnSourceToSinkBad, 2, QUANDARY_TAINT_ERROR, [return from __infer_taint_source,return from basics::returnSource,call to __infer_taint_sink] -basics.cpp, basics::sourceThenCallSinkBad, 2, QUANDARY_TAINT_ERROR, [return from __infer_taint_source,call to basics::callSink,call to __infer_taint_sink] -basics.cpp, basics::sourceToSinkDirectBad, 2, QUANDARY_TAINT_ERROR, [return from __infer_taint_source,call to __infer_taint_sink] -execs.cpp, execs::callExecBad, 6, QUANDARY_TAINT_ERROR, [return from getenv,call to execl] -execs.cpp, execs::callExecBad, 8, QUANDARY_TAINT_ERROR, [return from getenv,call to execl] -execs.cpp, execs::callExecBad, 11, QUANDARY_TAINT_ERROR, [return from getenv,call to execl] -execs.cpp, execs::callExecBad, 13, QUANDARY_TAINT_ERROR, [return from getenv,call to execlp] -execs.cpp, execs::callExecBad, 15, QUANDARY_TAINT_ERROR, [return from getenv,call to execlp] -execs.cpp, execs::callExecBad, 17, QUANDARY_TAINT_ERROR, [return from getenv,call to execle] -execs.cpp, execs::callExecBad, 19, QUANDARY_TAINT_ERROR, [return from getenv,call to execle] -execs.cpp, execs::callExecBad, 21, QUANDARY_TAINT_ERROR, [return from getenv,call to execv] -execs.cpp, execs::callExecBad, 23, QUANDARY_TAINT_ERROR, [return from getenv,call to execvp] -execs.cpp, execs::callExecBad, 25, QUANDARY_TAINT_ERROR, [return from getenv,call to execv] -execs.cpp, execs::callExecBad, 27, QUANDARY_TAINT_ERROR, [return from getenv,call to execvp] +codetoanalyze/cpp/quandary/basics.cpp, basics::propagateBad, 3, QUANDARY_TAINT_ERROR, [return from __infer_taint_source,flow through basics::id,call to basics::callSink,call to __infer_taint_sink] +codetoanalyze/cpp/quandary/basics.cpp, basics::returnSourceToSinkBad, 2, QUANDARY_TAINT_ERROR, [return from __infer_taint_source,return from basics::returnSource,call to __infer_taint_sink] +codetoanalyze/cpp/quandary/basics.cpp, basics::sourceThenCallSinkBad, 2, QUANDARY_TAINT_ERROR, [return from __infer_taint_source,call to basics::callSink,call to __infer_taint_sink] +codetoanalyze/cpp/quandary/basics.cpp, basics::sourceToSinkDirectBad, 2, QUANDARY_TAINT_ERROR, [return from __infer_taint_source,call to __infer_taint_sink] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 6, QUANDARY_TAINT_ERROR, [return from getenv,call to execl] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 8, QUANDARY_TAINT_ERROR, [return from getenv,call to execl] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 11, QUANDARY_TAINT_ERROR, [return from getenv,call to execl] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 13, QUANDARY_TAINT_ERROR, [return from getenv,call to execlp] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 15, QUANDARY_TAINT_ERROR, [return from getenv,call to execlp] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 17, QUANDARY_TAINT_ERROR, [return from getenv,call to execle] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 19, QUANDARY_TAINT_ERROR, [return from getenv,call to execle] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 21, QUANDARY_TAINT_ERROR, [return from getenv,call to execv] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 23, QUANDARY_TAINT_ERROR, [return from getenv,call to execvp] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 25, QUANDARY_TAINT_ERROR, [return from getenv,call to execv] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 27, QUANDARY_TAINT_ERROR, [return from getenv,call to execvp] diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot index 9c06bc1a0..8893e22ed 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot @@ -1,14 +1,14 @@ /* @generated */ digraph iCFG { -"div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB$B::v:int=1 [line 35]\n " shape="box"] +"div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB$B::v:int=1 [line 35]\n " shape="box"] "div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_5" -> "div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_4" ; -"div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB$f1::A::v:int=-2 [line 36]\n " shape="box"] +"div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB$f1::A::v:int=-2 [line 36]\n " shape="box"] "div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_4" -> "div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_3" ; -"div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_3" [label="3: Return Stmt \n n$0=*&#GB$f1::A::v:int [line 37]\n n$1=*&#GB$B::v:int [line 37]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 37]\n " shape="box"] +"div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_3" [label="3: Return Stmt \n n$0=*&#GB$f1::A::v:int [line 37]\n n$1=*&#GB$B::v:int [line 37]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 37]\n " shape="box"] "div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_3" -> "div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_2" ; @@ -19,15 +19,15 @@ digraph iCFG { "div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_1" -> "div0_static_field{d41d8cd98f00b204e9800998ecf8427e_Z17div0_static_fieldv}.2b766a8130513aeff8c7b57d55276390_5" ; -"div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB$f1::A::v:int=1 [line 41]\n " shape="box"] +"div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB$f1::A::v:int=1 [line 41]\n " shape="box"] "div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_5" -> "div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_4" ; -"div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB$B::v:int=-2 [line 42]\n " shape="box"] +"div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB$B::v:int=-2 [line 42]\n " shape="box"] "div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_4" -> "div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_3" ; -"div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_3" [label="3: Return Stmt \n n$0=*&#GB$f1::A::v:int [line 43]\n n$1=*&#GB$B::v:int [line 43]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 43]\n " shape="box"] +"div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_3" [label="3: Return Stmt \n n$0=*&#GB$f1::A::v:int [line 43]\n n$1=*&#GB$B::v:int [line 43]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 43]\n " shape="box"] "div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_3" -> "div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_2" ; @@ -38,15 +38,15 @@ digraph iCFG { "div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_1" -> "div0_static_field_member_access{d41d8cd98f00b204e9800998ecf8427e_Z31div0_static_field_member_accessP.d6c0556f2a96cd969b89d172f2ad72f4_5" ; -"div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB$f1::val:int=1 [line 29]\n " shape="box"] +"div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB$f1::val:int=1 [line 29]\n " shape="box"] "div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_5" -> "div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_4" ; -"div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB$f2::val:int=-2 [line 30]\n " shape="box"] +"div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB$f2::val:int=-2 [line 30]\n " shape="box"] "div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_4" -> "div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_3" ; -"div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_3" [label="3: Return Stmt \n n$0=*&#GB$f1::val:int [line 31]\n n$1=*&#GB$f2::val:int [line 31]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 31]\n " shape="box"] +"div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_3" [label="3: Return Stmt \n n$0=*&#GB$f1::val:int [line 31]\n n$1=*&#GB$f2::val:int [line 31]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 31]\n " shape="box"] "div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_3" -> "div0_namepace_res{d41d8cd98f00b204e9800998ecf8427e_Z17div0_namepace_resv}.8eb98b954d1902dd35b1783695fa021d_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot index d326430a6..38c557e20 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot @@ -18,7 +18,7 @@ digraph iCFG { "foo::Rectangle_Rectangle{_ZN3foo9RectangleC1Ev}.994e34698d49402781f481c8d7fa0e03_1" -> "foo::Rectangle_Rectangle{_ZN3foo9RectangleC1Ev}.994e34698d49402781f481c8d7fa0e03_2" ; -"__infer_globals_initializer_bar::rect.e5e9061ca63212fdc2fd329df6c073de_3" [label="3: DeclStmt \n _fun_bar::Rectangle_Rectangle(&#GB$bar::rect:class bar::Rectangle*) [line 38]\n " shape="box"] +"__infer_globals_initializer_bar::rect.e5e9061ca63212fdc2fd329df6c073de_3" [label="3: DeclStmt \n _fun_bar::Rectangle_Rectangle(&#GB$bar::rect:class bar::Rectangle*) [line 38]\n " shape="box"] "__infer_globals_initializer_bar::rect.e5e9061ca63212fdc2fd329df6c073de_3" -> "__infer_globals_initializer_bar::rect.e5e9061ca63212fdc2fd329df6c073de_2" ; @@ -36,7 +36,7 @@ digraph iCFG { "bar::Rectangle_Rectangle{_ZN3bar9RectangleC1Ev}.7f1dc038d9ffa5ed845a1ab3cd540788_1" -> "bar::Rectangle_Rectangle{_ZN3bar9RectangleC1Ev}.7f1dc038d9ffa5ed845a1ab3cd540788_2" ; -"bar::value{d41d8cd98f00b204e9800998ecf8427e_ZN3bar5valueEv}.d361dfc00f7d8608972ca0351bcfbf6c_3" [label="3: Return Stmt \n *&#GB$bar::pi:double=3.141600 [line 30]\n n$0=*&#GB$bar::pi:double [line 30]\n *&return:double=(2 * n$0) [line 30]\n " shape="box"] +"bar::value{d41d8cd98f00b204e9800998ecf8427e_ZN3bar5valueEv}.d361dfc00f7d8608972ca0351bcfbf6c_3" [label="3: Return Stmt \n *&#GB$bar::pi:double=3.141600 [line 30]\n n$0=*&#GB$bar::pi:double [line 30]\n *&return:double=(2 * n$0) [line 30]\n " shape="box"] "bar::value{d41d8cd98f00b204e9800998ecf8427e_ZN3bar5valueEv}.d361dfc00f7d8608972ca0351bcfbf6c_3" -> "bar::value{d41d8cd98f00b204e9800998ecf8427e_ZN3bar5valueEv}.d361dfc00f7d8608972ca0351bcfbf6c_2" ; @@ -79,7 +79,7 @@ digraph iCFG { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB$bar::pi:double=3.141600 [line 57]\n n$0=*&#GB$bar::pi:double [line 57]\n *&j:double=n$0 [line 57]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB$bar::pi:double=3.141600 [line 57]\n n$0=*&#GB$bar::pi:double [line 57]\n *&j:double=n$0 [line 57]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -101,7 +101,7 @@ digraph iCFG { "foo::my_record_{_ZN3foo9my_recordC1Ev}.1ae7127ddda2158b1422280789f801f9_1" -> "foo::my_record_{_ZN3foo9my_recordC1Ev}.1ae7127ddda2158b1422280789f801f9_2" ; -"__infer_globals_initializer_bar::pi.5a80e79e67d691b53e3a84f8d997acd8_3" [label="3: DeclStmt \n *&#GB$bar::pi:double=3.141600 [line 29]\n " shape="box"] +"__infer_globals_initializer_bar::pi.5a80e79e67d691b53e3a84f8d997acd8_3" [label="3: DeclStmt \n *&#GB$bar::pi:double=3.141600 [line 29]\n " shape="box"] "__infer_globals_initializer_bar::pi.5a80e79e67d691b53e3a84f8d997acd8_3" -> "__infer_globals_initializer_bar::pi.5a80e79e67d691b53e3a84f8d997acd8_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot index 1ed352b70..3e02d8e92 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n _fun_X_X(&#GB$global:class X*) [line 15]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n _fun_X_X(&#GB$global:class X*) [line 15]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -18,7 +18,7 @@ digraph iCFG { "X_X{_ZN1XC1Ev}.dbc1390b15606562094682699e12caba_1" -> "X_X{_ZN1XC1Ev}.dbc1390b15606562094682699e12caba_2" ; -"get_ptr{d41d8cd98f00b204e9800998ecf8427e_Z7get_ptrv}.79c23fccc4af78490d3b790f3bfe4b4b_3" [label="3: Return Stmt \n *&return:class X*=&#GB$global [line 16]\n " shape="box"] +"get_ptr{d41d8cd98f00b204e9800998ecf8427e_Z7get_ptrv}.79c23fccc4af78490d3b790f3bfe4b4b_3" [label="3: Return Stmt \n *&return:class X*=&#GB$global [line 16]\n " shape="box"] "get_ptr{d41d8cd98f00b204e9800998ecf8427e_Z7get_ptrv}.79c23fccc4af78490d3b790f3bfe4b4b_3" -> "get_ptr{d41d8cd98f00b204e9800998ecf8427e_Z7get_ptrv}.79c23fccc4af78490d3b790f3bfe4b4b_2" ; @@ -44,7 +44,7 @@ digraph iCFG { "test_ref{d41d8cd98f00b204e9800998ecf8427e_Z8test_refv}.00ae903ec76106232cfb760d7c58e99e_1" -> "test_ref{d41d8cd98f00b204e9800998ecf8427e_Z8test_refv}.00ae903ec76106232cfb760d7c58e99e_4" ; -"get_ref{d41d8cd98f00b204e9800998ecf8427e_Z7get_refv}.bbbf241bd8d761aafd6f3adea16247b8_3" [label="3: Return Stmt \n *&return:class X&=&#GB$global [line 17]\n " shape="box"] +"get_ref{d41d8cd98f00b204e9800998ecf8427e_Z7get_refv}.bbbf241bd8d761aafd6f3adea16247b8_3" [label="3: Return Stmt \n *&return:class X&=&#GB$global [line 17]\n " shape="box"] "get_ref{d41d8cd98f00b204e9800998ecf8427e_Z7get_refv}.bbbf241bd8d761aafd6f3adea16247b8_3" -> "get_ref{d41d8cd98f00b204e9800998ecf8427e_Z7get_refv}.bbbf241bd8d761aafd6f3adea16247b8_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot index 585322950..071eb1fb6 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot @@ -96,7 +96,7 @@ digraph iCFG { "method_div0_ptr{d41d8cd98f00b204e9800998ecf8427e_Z15method_div0_ptrP1X}.f3e4b6dda73405cc6ef139c433f1be83_1" -> "method_div0_ptr{d41d8cd98f00b204e9800998ecf8427e_Z15method_div0_ptrP1X}.f3e4b6dda73405cc6ef139c433f1be83_5" ; "method_div0_ptr{d41d8cd98f00b204e9800998ecf8427e_Z15method_div0_ptrP1X}.f3e4b6dda73405cc6ef139c433f1be83_1" -> "method_div0_ptr{d41d8cd98f00b204e9800998ecf8427e_Z15method_div0_ptrP1X}.f3e4b6dda73405cc6ef139c433f1be83_6" ; -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n _fun_X_X(&#GB$global:class X*) [line 29]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n _fun_X_X(&#GB$global:class X*) [line 29]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -137,7 +137,7 @@ digraph iCFG { "get_global_ref_div1_field{d41d8cd98f00b204e9800998ecf8427e_Z25get_global_ref_div1_fieldv}.8607dfe596d93bdff8ef4771a2860768_1" -> "get_global_ref_div1_field{d41d8cd98f00b204e9800998ecf8427e_Z25get_global_ref_div1_fieldv}.8607dfe596d93bdff8ef4771a2860768_5" ; -"get_global_ref{d41d8cd98f00b204e9800998ecf8427e_Z14get_global_refv}.f4b7019d054deab282b87afe2627508e_3" [label="3: Return Stmt \n *&return:class X&=&#GB$global [line 31]\n " shape="box"] +"get_global_ref{d41d8cd98f00b204e9800998ecf8427e_Z14get_global_refv}.f4b7019d054deab282b87afe2627508e_3" [label="3: Return Stmt \n *&return:class X&=&#GB$global [line 31]\n " shape="box"] "get_global_ref{d41d8cd98f00b204e9800998ecf8427e_Z14get_global_refv}.f4b7019d054deab282b87afe2627508e_3" -> "get_global_ref{d41d8cd98f00b204e9800998ecf8427e_Z14get_global_refv}.f4b7019d054deab282b87afe2627508e_2" ; @@ -236,7 +236,7 @@ digraph iCFG { "method_div1_ptr{d41d8cd98f00b204e9800998ecf8427e_Z15method_div1_ptrP1X}.1c0e973f73df66029a031ece1247cb9b_1" -> "method_div1_ptr{d41d8cd98f00b204e9800998ecf8427e_Z15method_div1_ptrP1X}.1c0e973f73df66029a031ece1247cb9b_5" ; "method_div1_ptr{d41d8cd98f00b204e9800998ecf8427e_Z15method_div1_ptrP1X}.1c0e973f73df66029a031ece1247cb9b_1" -> "method_div1_ptr{d41d8cd98f00b204e9800998ecf8427e_Z15method_div1_ptrP1X}.1c0e973f73df66029a031ece1247cb9b_6" ; -"get_global_ptr{d41d8cd98f00b204e9800998ecf8427e_Z14get_global_ptrv}.2c09171c0890ad0c015390a6138a2db9_3" [label="3: Return Stmt \n *&return:class X*=&#GB$global [line 30]\n " shape="box"] +"get_global_ptr{d41d8cd98f00b204e9800998ecf8427e_Z14get_global_ptrv}.2c09171c0890ad0c015390a6138a2db9_3" [label="3: Return Stmt \n *&return:class X*=&#GB$global [line 30]\n " shape="box"] "get_global_ptr{d41d8cd98f00b204e9800998ecf8427e_Z14get_global_ptrv}.2c09171c0890ad0c015390a6138a2db9_3" -> "get_global_ptr{d41d8cd98f00b204e9800998ecf8427e_Z14get_global_ptrv}.2c09171c0890ad0c015390a6138a2db9_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot index 1fcb8a006..7710018a7 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot @@ -11,7 +11,7 @@ digraph iCFG { "MyHasher_hash(_ZN8MyHasher4hashEi).eb9ae99d1fcb0f8714448f416948e011_1" -> "MyHasher_hash(_ZN8MyHasher4hashEi).eb9ae99d1fcb0f8714448f416948e011_3" ; -"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" [label="3: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 23]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:int=0 [line 23]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 23]\n n$3=_fun_hash_combine_generic(&0$?%__sil_tmpSIL_materialize_temp__n$0:int&,&0$?%__sil_tmpSIL_materialize_temp__n$1:int&,&0$?%__sil_tmpSIL_materialize_temp__n$2:int&) [line 23]\n *&#GB$test:int=n$3 [line 23]\n " shape="box"] +"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" [label="3: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 23]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:int=0 [line 23]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 23]\n n$3=_fun_hash_combine_generic(&0$?%__sil_tmpSIL_materialize_temp__n$0:int&,&0$?%__sil_tmpSIL_materialize_temp__n$1:int&,&0$?%__sil_tmpSIL_materialize_temp__n$2:int&) [line 23]\n *&#GB$test:int=n$3 [line 23]\n " shape="box"] "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" -> "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/typeid_expr.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/typeid_expr.cpp.dot index ec1330d4e..f354e9e3a 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/typeid_expr.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/typeid_expr.cpp.dot @@ -236,7 +236,7 @@ digraph iCFG { "Employee_~Employee(_ZN6PersonD0Ev).74f3bba15ec35ceae1c235a49d9fbfbd_1" -> "Employee_~Employee(_ZN6PersonD0Ev).74f3bba15ec35ceae1c235a49d9fbfbd_2" ; -"__infer_globals_initializer_std::__1::__numeric_type::value.57c383a785ca57f6432142c6cac8d773_3" [label="3: DeclStmt \n *&#GB$std::__1::__numeric_type::value:_Bool=1 [line 1697]\n " shape="box"] +"__infer_globals_initializer_std::__1::__numeric_type::value.57c383a785ca57f6432142c6cac8d773_3" [label="3: DeclStmt \n *&#GB$std::__1::__numeric_type::value:_Bool=1 [line 1697]\n " shape="box"] "__infer_globals_initializer_std::__1::__numeric_type::value.57c383a785ca57f6432142c6cac8d773_3" -> "__infer_globals_initializer_std::__1::__numeric_type::value.57c383a785ca57f6432142c6cac8d773_2" ; diff --git a/infer/tests/codetoanalyze/objc/errors/Makefile b/infer/tests/codetoanalyze/objc/errors/Makefile index efb6b727b..019cb32a9 100644 --- a/infer/tests/codetoanalyze/objc/errors/Makefile +++ b/infer/tests/codetoanalyze/objc/errors/Makefile @@ -18,7 +18,7 @@ CLANG_OPTIONS = -x objective-c \ CLEAN_EXTRA = infer-out-arc infer-out-all infer-out-all infer-out-arc \ issues.exp.test.all issues.exp.test.arc issues.exp.test.default -INFER_OPTIONS = --cxx --check-duplicate-symbols --no-filtering --debug-exceptions +INFER_OPTIONS = --cxx --check-duplicate-symbols --no-filtering --debug-exceptions --project-root $(TESTS_DIR) INFERPRINT_OPTIONS = --issues-tests SOURCES_DEFAULT = \ diff --git a/infer/tests/codetoanalyze/objc/errors/issues.exp b/infer/tests/codetoanalyze/objc/errors/issues.exp index 4beaba9a8..88bcae48c 100644 --- a/infer/tests/codetoanalyze/objc/errors/issues.exp +++ b/infer/tests/codetoanalyze/objc/errors/issues.exp @@ -1,127 +1,127 @@ -field_superclass/field.c, field_superclass_main, 3, RETAIN_CYCLE, [start of procedure field_superclass_main()] -global_const/global_const.m, SimpleRoot_doSomethingBadWithDict:andString:, 3, NULL_DEREFERENCE, [start of procedure doSomethingBadWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] -initialization/compound_literal.c, init_with_compound_literal, 2, DIVIDE_BY_ZERO, [start of procedure init_with_compound_literal()] -memory_leaks_benchmark/CADisplayLinkRetainCycle.m, testCycle, 3, RETAIN_CYCLE, [start of procedure testCycle(),start of procedure init,return from a call to CADisplay_init] -memory_leaks_benchmark/RetainCycleStaticVar.m, RetainCSVycleStaticVar, 2, RETAIN_CYCLE, [start of procedure RetainCSVycleStaticVar(),start of procedure init,return from a call to RetainCSV_init,start of procedure foo,start of procedure block,start of procedure init,return from a call to RetainCSV_init,return from a call to __objc_anonymous_block_RetainCSV_foo______3,start of procedure block,start of procedure init,return from a call to RetainCSV_init,return from a call to __objc_anonymous_block_RetainCSV_foo______2,return from a call to RetainCSV_foo] -npe/blockenum.m, BlockEnumA_allResultsList:, 1, MEMORY_LEAK, [start of procedure allResultsList:] -npe/blockenum.m, BlockEnumA_foo1:, 2, MEMORY_LEAK, [start of procedure foo1:] -npe/nil_param.m, NilParamMain, 4, MEMORY_LEAK, [start of procedure NilParamMain(),start of procedure test1:,Message test2 with receiver nil returns nil.,return from a call to NilParamA_test1:] -npe/null_returned_by_method.m, NullReturnedByMethodA_test1, 1, NULL_DEREFERENCE, [start of procedure test1,start of procedure test,return from a call to NullReturnedByMethodA_test] -procdescs/main.c, ProcdescMain, 2, MEMORY_LEAK, [start of procedure ProcdescMain()] -procdescs/main.c, ProcdescMain, 3, MEMORY_LEAK, [start of procedure ProcdescMain()] -procdescs/main.c, call_nslog, 1, MEMORY_LEAK, [start of procedure call_nslog()] -procdescs/main.c, call_nslog, 2, MEMORY_LEAK, [start of procedure call_nslog()] -procdescs/main.c, call_nslog, 3, MEMORY_LEAK, [start of procedure call_nslog()] -property/main.c, property_main, 2, MEMORY_LEAK, [start of procedure property_main()] -property/main.c, property_main, 3, MEMORY_LEAK, [start of procedure property_main()] -shared/assertions/NSAssert_example.m, NSAssert_addTarget:, 1, MEMORY_LEAK, [start of procedure addTarget:,Condition is false,Condition is true,Condition is true] -shared/assertions/NSAssert_example.m, NSAssert_initWithRequest:, 1, MEMORY_LEAK, [start of procedure initWithRequest:,Condition is false,Condition is true,Condition is true] -shared/assertions/NSAssert_example.m, test1, 1, MEMORY_LEAK, [start of procedure test1(),Condition is false,Condition is true,Condition is true,Condition is true] -shared/assertions/NSAssert_example.m, test1, 1, MEMORY_LEAK, [start of procedure test1(),Condition is false,Condition is true,Condition is true] -shared/assertions/NSAssert_example.m, test2, 1, MEMORY_LEAK, [start of procedure test2(),Condition is false,Condition is true,Condition is true] -shared/assertions/NSAssert_example.m, test2, 1, MEMORY_LEAK, [start of procedure test2(),Condition is false,Condition is true,Condition is true,Condition is true] -shared/block/BlockVar.m, BlockVar_blockPostBad, 5, NULL_DEREFERENCE, [start of procedure blockPostBad,start of procedure block,return from a call to __objc_anonymous_block_BlockVar_blockPostBad______2] -shared/block/BlockVar.m, BlockVar_capturedNullDeref, 5, NULL_DEREFERENCE, [start of procedure capturedNullDeref,start of procedure block] -shared/block/BlockVar.m, BlockVar_navigateToURLInBackground, 8, NULL_DEREFERENCE, [start of procedure navigateToURLInBackground,start of procedure block,start of procedure test,return from a call to BlockVar_test,return from a call to __objc_anonymous_block_BlockVar_navigateToURLInBackground______1,Condition is true] -shared/block/block.m, main1, 31, DIVIDE_BY_ZERO, [start of procedure main1(),start of procedure block,start of procedure block,return from a call to __objc_anonymous_block___objc_anonymous_block_main1______2______3,return from a call to __objc_anonymous_block_main1______2,start of procedure block,return from a call to __objc_anonymous_block_main1______1] -shared/block/block_no_args.m, My_manager_m, 10, NULL_DEREFERENCE, [start of procedure m,start of procedure block,return from a call to __objc_anonymous_block_My_manager_m______1,Condition is true] -shared/block/block_release.m, My_manager_blockReleaseTODO, 5, MEMORY_LEAK, [start of procedure blockReleaseTODO] -shared/category_procdesc/main.c, CategoryProcdescMain, 2, MEMORY_LEAK, [start of procedure CategoryProcdescMain()] -shared/category_procdesc/main.c, CategoryProcdescMain, 3, MEMORY_LEAK, [start of procedure CategoryProcdescMain()] -shared/field_superclass/SuperExample.m, ASuper_init, 2, NULL_DEREFERENCE, [start of procedure init,start of procedure init,return from a call to BSuper_init] -shared/field_superclass/SuperExample.m, super_example_main, 2, MEMORY_LEAK, [start of procedure super_example_main()] -shared/memory_leaks_benchmark/RetainReleaseExample2.m, test3, 0, MEMORY_LEAK, [start of procedure test3(),start of procedure retain_release2_test(),start of procedure init,return from a call to RR2_init,return from a call to retain_release2_test] -shared/memory_leaks_benchmark/RetainReleaseExample2.m, test3, 0, RETURN_VALUE_IGNORED, [start of procedure test3()] -shared/memory_leaks_benchmark/RetainReleaseExample2.m, test4, 3, MEMORY_LEAK, [start of procedure test4(),start of procedure retain_release2_test(),start of procedure init,return from a call to RR2_init,return from a call to retain_release2_test] -shared/memory_leaks_benchmark/RetainReleaseExample2.m, test5, 2, MEMORY_LEAK, [start of procedure test5(),start of procedure init,return from a call to RR2_init] -shared/memory_leaks_benchmark/RetainReleaseExample2.m, test6, 3, MEMORY_LEAK, [start of procedure test6(),start of procedure init,return from a call to RR2_init] -warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackChain:, 2, IVAR_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackChain:,Message recordState with receiver nil returns nil.] -warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackChain:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackChain:,Message recorder with receiver nil returns nil. Message recordState with receiver nil returns nil.] -warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackField, 2, IVAR_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackField,Message recordState with receiver nil returns nil.] -warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimple:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackSimple:,Message recordState with receiver nil returns nil.] -warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimpleAliasing:, 3, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackSimpleAliasing:,Message recordState with receiver nil returns nil.] -warnings/ParameterNotNullableExample.m, FBAudioRecorder_test, 3, NULL_DEREFERENCE, [start of procedure test,Message recordState with receiver nil returns nil.] -field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 3, NULL_TEST_AFTER_DEREFERENCE, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is false] -field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 6, DIVIDE_BY_ZERO, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is true] -field_superclass/SubtypingExample.m, subtyping_test, 0, DIVIDE_BY_ZERO, [start of procedure subtyping_test(),start of procedure testFields(),start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure setAge:,return from a call to Person_setAge:,start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure getAge,return from a call to Person_getAge,return from a call to testFields] -initialization/struct_initlistexpr.c, field_set_correctly, 2, DIVIDE_BY_ZERO, [start of procedure field_set_correctly()] -initialization/struct_initlistexpr.c, implicit_expr_set_correctly, 3, DIVIDE_BY_ZERO, [start of procedure implicit_expr_set_correctly()] -initialization/struct_initlistexpr.c, point_coords_set_correctly, 2, DIVIDE_BY_ZERO, [start of procedure point_coords_set_correctly()] -memory_leaks_benchmark/RetainReleaseExampleBucketingArc.m, RetainReleaseArcTest, 0, RETURN_VALUE_IGNORED, [start of procedure RetainReleaseArcTest()] -memory_leaks_benchmark/retain_cycle.m, strongcycle, 6, RETAIN_CYCLE, [start of procedure strongcycle()] -memory_leaks_benchmark/retain_cycle2.m, strongcycle2, 4, RETAIN_CYCLE, [start of procedure strongcycle2(),start of procedure init,return from a call to Parent_init,start of procedure init,return from a call to Child_init,start of procedure setChild:,return from a call to Parent_setChild:,start of procedure setParent:,return from a call to Child_setParent:] -npe/UpdateDict.m, add_nil_in_dict, 10, NULL_DEREFERENCE, [start of procedure add_nil_in_dict()] -npe/UpdateDict.m, add_nil_to_array, 4, NULL_DEREFERENCE, [start of procedure add_nil_to_array()] -npe/UpdateDict.m, insert_nil_in_array, 4, NULL_DEREFERENCE, [start of procedure insert_nil_in_array()] -npe/UpdateDict.m, nullable_NSDictionary_objectForKey, 4, NULL_DEREFERENCE, [start of procedure nullable_NSDictionary_objectForKey(),Condition is true,Condition is true] -npe/UpdateDict.m, nullable_NSDictionary_objectForKeyedSubscript, 5, NULL_DEREFERENCE, [start of procedure nullable_NSDictionary_objectForKeyedSubscript(),Condition is true,Condition is true] -npe/UpdateDict.m, nullable_NSMapTable_objectForKey, 4, NULL_DEREFERENCE, [start of procedure nullable_NSMapTable_objectForKey(),Condition is true,Condition is true] -npe/UpdateDict.m, update_array_with_null, 5, NULL_DEREFERENCE, [start of procedure update_array_with_null()] -npe/UpdateDict.m, update_dict_with_key_null, 10, NULL_DEREFERENCE, [start of procedure update_dict_with_key_null()] -npe/WeakCapturedVarsNPE.m, __objc_anonymous_block_WeakCapturedA_strongSelfNoCheck______2, 2, NULL_DEREFERENCE, [start of procedure block] -npe/nil_in_array_literal.m, Arr_nilInArrayLiteral0, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral0] -npe/nil_in_array_literal.m, Arr_nilInArrayLiteral1, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral1] -npe/nil_in_array_literal.m, Arr_nilInArrayLiteral2, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral2] -npe/nil_in_array_literal.m, Arr_nilInArrayLiteral3, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral3] -npe/nil_in_array_literal.m, Arr_nilInArrayWithObject, 4, NULL_DEREFERENCE, [start of procedure nilInArrayWithObject] -npe/nil_in_array_literal.m, Arr_noProblem, 3, UNINITIALIZED_VALUE, [start of procedure noProblem] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey0, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey0] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey1, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey1] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey2, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey2] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey3, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey3] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue0, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue0] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue1, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue1] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue2, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue2] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue3, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue3] -npe/nil_in_dictionary_literal.m, ADict_noProblem, 3, UNINITIALIZED_VALUE, [start of procedure noProblem] -npe/npe_conditional.m, conditionalNPE, 3, NULL_DEREFERENCE, [start of procedure conditionalNPE(),start of procedure name,return from a call to ConditionalA_name,Condition is true] -npe/npe_self.m, CSelf_test, 3, NULL_DEREFERENCE, [start of procedure test,Condition is false] -npe/nullable.m, derefNullableParamDirect, 0, NULL_DEREFERENCE, [start of procedure derefNullableParamDirect()] -npe/nullable.m, derefNullableParamIndirect, 2, NULL_DEREFERENCE, [start of procedure derefNullableParamIndirect()] -npe/nullable.m, parameter_nullable_bug, 5, NULL_DEREFERENCE, [start of procedure parameter_nullable_bug()] -property/ExplicitIvarName.m, ExplicitIvarNameA_testDefaultName, 7, NULL_DEREFERENCE, [start of procedure testDefaultName,Condition is true] -property/ExplicitIvarName.m, ExplicitIvarNameA_testExplicit, 6, NULL_DEREFERENCE, [start of procedure testExplicit,Condition is true] -shared/memory_leaks_benchmark/TollBridgeExample.m, TollBridgeExample_brideRetained, 2, MEMORY_LEAK, [start of procedure brideRetained] -shared/memory_leaks_benchmark/TollBridgeExample.m, TollBridgeExample_bridge, 2, MEMORY_LEAK, [start of procedure bridge] -shared/memory_leaks_benchmark/TollBridgeExample.m, bridgeDictionaryNoLeak, 1, UNINITIALIZED_VALUE, [start of procedure bridgeDictionaryNoLeak()] -subtyping/KindOfClassExample.m, shouldThrowDivideByZero1, 2, DIVIDE_BY_ZERO, [start of procedure shouldThrowDivideByZero1(),start of procedure init,return from a call to Base_init,start of procedure returnsZero1:,Condition is true,return from a call to Base_returnsZero1:] -subtyping/KindOfClassExample.m, shouldThrowDivideByZero2, 2, DIVIDE_BY_ZERO, [start of procedure shouldThrowDivideByZero2(),start of procedure init,return from a call to Base_init,start of procedure returnsZero2(),Condition is false,return from a call to returnsZero2] -subtyping/KindOfClassExample.m, shouldThrowDivideByZero3, 3, DIVIDE_BY_ZERO, [start of procedure shouldThrowDivideByZero3(),start of procedure init,return from a call to Derived_init,Condition is true] -variadic_methods/premature_nil_termination.m, PrematureNilTermA_nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, [start of procedure nilInArrayWithObjects] -memory_leaks_benchmark/FBViewExample.m, FBV_main, 2, PRECONDITION_NOT_MET, [start of procedure main,start of procedure headerView,Condition is false,return from a call to FBV_headerView] -memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, StringInitA_macForIV:, 2, MEMORY_LEAK, [start of procedure macForIV:] -memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, createURLQueryStringBodyEscaping, 6, PRECONDITION_NOT_MET, [start of procedure createURLQueryStringBodyEscaping(),Condition is true] -memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, createURLQueryStringBodyEscaping, 11, UNINITIALIZED_VALUE, [start of procedure createURLQueryStringBodyEscaping(),Condition is false] -memory_leaks_benchmark/RetainReleaseExampleBucketing.m, RetainReleaseTest, 0, RETURN_VALUE_IGNORED, [start of procedure RetainReleaseTest()] -npe/Fraction.m, test_virtual_call, 7, NULL_DEREFERENCE, [start of procedure test_virtual_call(),start of procedure setNumerator:,return from a call to Fraction_setNumerator:,start of procedure getNumerator,return from a call to Fraction_getNumerator,Condition is true] -npe/NPD_core_foundation.m, NullDeref_createCloseCrossGlyphNoLeak:, 5, Assert_failure, [start of procedure createCloseCrossGlyphNoLeak:] -npe/NPD_core_foundation.m, NullDeref_layoutSubviews, 4, Assert_failure, [start of procedure layoutSubviews] -npe/NPD_core_foundation.m, NullDeref_measureFrameSizeForTextNoLeak, 4, Assert_failure, [start of procedure measureFrameSizeForTextNoLeak,Condition is true] -npe/Npe_with_equal_names.m, EqualNamesTest, 3, NULL_DEREFERENCE, [start of procedure EqualNamesTest(),start of procedure meth,return from a call to EqualNamesA_meth] -npe/Npe_with_equal_names.m, EqualNamesTest2, 2, UNINITIALIZED_VALUE, [start of procedure EqualNamesTest2(),start of procedure meth,return from a call to EqualNamesA_meth] -npe/block.m, BlockA_doSomethingThenCallback:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure doSomethingThenCallback:] -npe/block.m, BlockA_foo, 5, NULL_DEREFERENCE, [start of procedure foo] -npe/block.m, BlockA_foo3:, 3, NULL_DEREFERENCE, [start of procedure foo3:] -npe/block.m, BlockA_foo4:, 6, NULL_DEREFERENCE, [start of procedure foo4:] -npe/block.m, BlockA_foo7, 2, IVAR_NOT_NULL_CHECKED, [start of procedure foo7] -npe/skip_method_with_nil_object.m, SkipMethodNilA_testBug:, 6, PARAMETER_NOT_NULL_CHECKED, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Condition is false] -property/main.c, property_main, 3, MEMORY_LEAK, [start of procedure property_main()] -shared/block/block-it.m, __objc_anonymous_block_MyBlock_array______1, 5, UNINITIALIZED_VALUE, [start of procedure block,Condition is false] -shared/block/block-it.m, __objc_anonymous_block_MyBlock_array_trans______2, 4, UNINITIALIZED_VALUE, [start of procedure block,Condition is false] -shared/block/dispatch.m, DispatchA_dispatch_a_block_variable_from_macro_delivers_initialised_object, 3, DIVIDE_BY_ZERO, [start of procedure dispatch_a_block_variable_from_macro_delivers_initialised_object,start of procedure dispatch_a_block_variable_from_macro,start of procedure block,start of procedure init,return from a call to DispatchA_init,return from a call to __objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4,return from a call to DispatchA_dispatch_a_block_variable_from_macro] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_blockCapturedVarLeak, 3, MEMORY_LEAK, [start of procedure blockCapturedVarLeak] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_blockFreeNoLeakTODO, 3, MEMORY_LEAK, [start of procedure blockFreeNoLeakTODO] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_createCloseCrossGlyph:, 2, MEMORY_LEAK, [start of procedure createCloseCrossGlyph:] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_createCloseCrossGlyphNoLeak:, 5, Assert_failure, [start of procedure createCloseCrossGlyphNoLeak:] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_measureFrameSizeForText, 1, MEMORY_LEAK, [start of procedure measureFrameSizeForText] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_measureFrameSizeForTextNoLeak, 3, Assert_failure, [start of procedure measureFrameSizeForTextNoLeak] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_regularLeak, 3, MEMORY_LEAK, [start of procedure regularLeak] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test, 3, MEMORY_LEAK, [start of procedure test] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test1:, 1, MEMORY_LEAK, [start of procedure test1:] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test2:, 1, MEMORY_LEAK, [start of procedure test2:] -shared/npe/Nonnull_attribute_example.m, NonnullC_initWithCoder:and:, 2, UNINITIALIZED_VALUE, [start of procedure initWithCoder:and:,start of procedure getA,return from a call to NonnullA_getA] -taint/sources.m, testNSHTTPCookie1, 5, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure testNSHTTPCookie1()] -taint/sources.m, testNSHTTPCookie2, 5, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure testNSHTTPCookie2()] -taint/sources.m, testNSHTTPCookie3, 5, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure testNSHTTPCookie3()] -taint/sources.m, testNSHTTPCookie4, 5, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure testNSHTTPCookie4()] -taint/viewController.m, ExampleDelegate_application:openURL:sourceApplication:annotation:, 7, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure application:openURL:sourceApplication:annotation:,start of procedure init,return from a call to VCA_init,start of procedure ExampleSanitizer(),Condition is false,return from a call to ExampleSanitizer,Condition is false,Condition is true] +codetoanalyze/objc/errors/field_superclass/field.c, field_superclass_main, 3, RETAIN_CYCLE, [start of procedure field_superclass_main()] +codetoanalyze/objc/errors/global_const/global_const.m, SimpleRoot_doSomethingBadWithDict:andString:, 3, NULL_DEREFERENCE, [start of procedure doSomethingBadWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] +codetoanalyze/objc/errors/initialization/compound_literal.c, init_with_compound_literal, 2, DIVIDE_BY_ZERO, [start of procedure init_with_compound_literal()] +codetoanalyze/objc/errors/memory_leaks_benchmark/CADisplayLinkRetainCycle.m, testCycle, 3, RETAIN_CYCLE, [start of procedure testCycle(),start of procedure init,return from a call to CADisplay_init] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleStaticVar.m, RetainCSVycleStaticVar, 2, RETAIN_CYCLE, [start of procedure RetainCSVycleStaticVar(),start of procedure init,return from a call to RetainCSV_init,start of procedure foo,start of procedure block,start of procedure init,return from a call to RetainCSV_init,return from a call to __objc_anonymous_block_RetainCSV_foo______3,start of procedure block,start of procedure init,return from a call to RetainCSV_init,return from a call to __objc_anonymous_block_RetainCSV_foo______2,return from a call to RetainCSV_foo] +codetoanalyze/objc/errors/npe/blockenum.m, BlockEnumA_allResultsList:, 1, MEMORY_LEAK, [start of procedure allResultsList:] +codetoanalyze/objc/errors/npe/blockenum.m, BlockEnumA_foo1:, 2, MEMORY_LEAK, [start of procedure foo1:] +codetoanalyze/objc/errors/npe/nil_param.m, NilParamMain, 4, MEMORY_LEAK, [start of procedure NilParamMain(),start of procedure test1:,Message test2 with receiver nil returns nil.,return from a call to NilParamA_test1:] +codetoanalyze/objc/errors/npe/null_returned_by_method.m, NullReturnedByMethodA_test1, 1, NULL_DEREFERENCE, [start of procedure test1,start of procedure test,return from a call to NullReturnedByMethodA_test] +codetoanalyze/objc/errors/procdescs/main.c, ProcdescMain, 2, MEMORY_LEAK, [start of procedure ProcdescMain()] +codetoanalyze/objc/errors/procdescs/main.c, ProcdescMain, 3, MEMORY_LEAK, [start of procedure ProcdescMain()] +codetoanalyze/objc/errors/procdescs/main.c, call_nslog, 1, MEMORY_LEAK, [start of procedure call_nslog()] +codetoanalyze/objc/errors/procdescs/main.c, call_nslog, 2, MEMORY_LEAK, [start of procedure call_nslog()] +codetoanalyze/objc/errors/procdescs/main.c, call_nslog, 3, MEMORY_LEAK, [start of procedure call_nslog()] +codetoanalyze/objc/errors/property/main.c, property_main, 2, MEMORY_LEAK, [start of procedure property_main()] +codetoanalyze/objc/errors/property/main.c, property_main, 3, MEMORY_LEAK, [start of procedure property_main()] +codetoanalyze/objc/errors/shared/assertions/NSAssert_example.m, NSAssert_addTarget:, 1, MEMORY_LEAK, [start of procedure addTarget:,Condition is false,Condition is true,Condition is true] +codetoanalyze/objc/errors/shared/assertions/NSAssert_example.m, NSAssert_initWithRequest:, 1, MEMORY_LEAK, [start of procedure initWithRequest:,Condition is false,Condition is true,Condition is true] +codetoanalyze/objc/errors/shared/assertions/NSAssert_example.m, test1, 1, MEMORY_LEAK, [start of procedure test1(),Condition is false,Condition is true,Condition is true,Condition is true] +codetoanalyze/objc/errors/shared/assertions/NSAssert_example.m, test1, 1, MEMORY_LEAK, [start of procedure test1(),Condition is false,Condition is true,Condition is true] +codetoanalyze/objc/errors/shared/assertions/NSAssert_example.m, test2, 1, MEMORY_LEAK, [start of procedure test2(),Condition is false,Condition is true,Condition is true] +codetoanalyze/objc/errors/shared/assertions/NSAssert_example.m, test2, 1, MEMORY_LEAK, [start of procedure test2(),Condition is false,Condition is true,Condition is true,Condition is true] +codetoanalyze/objc/errors/shared/block/BlockVar.m, BlockVar_blockPostBad, 5, NULL_DEREFERENCE, [start of procedure blockPostBad,start of procedure block,return from a call to __objc_anonymous_block_BlockVar_blockPostBad______2] +codetoanalyze/objc/errors/shared/block/BlockVar.m, BlockVar_capturedNullDeref, 5, NULL_DEREFERENCE, [start of procedure capturedNullDeref,start of procedure block] +codetoanalyze/objc/errors/shared/block/BlockVar.m, BlockVar_navigateToURLInBackground, 8, NULL_DEREFERENCE, [start of procedure navigateToURLInBackground,start of procedure block,start of procedure test,return from a call to BlockVar_test,return from a call to __objc_anonymous_block_BlockVar_navigateToURLInBackground______1,Condition is true] +codetoanalyze/objc/errors/shared/block/block.m, main1, 31, DIVIDE_BY_ZERO, [start of procedure main1(),start of procedure block,start of procedure block,return from a call to __objc_anonymous_block___objc_anonymous_block_main1______2______3,return from a call to __objc_anonymous_block_main1______2,start of procedure block,return from a call to __objc_anonymous_block_main1______1] +codetoanalyze/objc/errors/shared/block/block_no_args.m, My_manager_m, 10, NULL_DEREFERENCE, [start of procedure m,start of procedure block,return from a call to __objc_anonymous_block_My_manager_m______1,Condition is true] +codetoanalyze/objc/errors/shared/block/block_release.m, My_manager_blockReleaseTODO, 5, MEMORY_LEAK, [start of procedure blockReleaseTODO] +codetoanalyze/objc/errors/shared/category_procdesc/main.c, CategoryProcdescMain, 2, MEMORY_LEAK, [start of procedure CategoryProcdescMain()] +codetoanalyze/objc/errors/shared/category_procdesc/main.c, CategoryProcdescMain, 3, MEMORY_LEAK, [start of procedure CategoryProcdescMain()] +codetoanalyze/objc/errors/shared/field_superclass/SuperExample.m, ASuper_init, 2, NULL_DEREFERENCE, [start of procedure init,start of procedure init,return from a call to BSuper_init] +codetoanalyze/objc/errors/shared/field_superclass/SuperExample.m, super_example_main, 2, MEMORY_LEAK, [start of procedure super_example_main()] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/RetainReleaseExample2.m, test3, 0, MEMORY_LEAK, [start of procedure test3(),start of procedure retain_release2_test(),start of procedure init,return from a call to RR2_init,return from a call to retain_release2_test] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/RetainReleaseExample2.m, test3, 0, RETURN_VALUE_IGNORED, [start of procedure test3()] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/RetainReleaseExample2.m, test4, 3, MEMORY_LEAK, [start of procedure test4(),start of procedure retain_release2_test(),start of procedure init,return from a call to RR2_init,return from a call to retain_release2_test] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/RetainReleaseExample2.m, test5, 2, MEMORY_LEAK, [start of procedure test5(),start of procedure init,return from a call to RR2_init] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/RetainReleaseExample2.m, test6, 3, MEMORY_LEAK, [start of procedure test6(),start of procedure init,return from a call to RR2_init] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackChain:, 2, IVAR_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackChain:,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackChain:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackChain:,Message recorder with receiver nil returns nil. Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackField, 2, IVAR_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackField,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimple:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackSimple:,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimpleAliasing:, 3, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackSimpleAliasing:,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_test, 3, NULL_DEREFERENCE, [start of procedure test,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 3, NULL_TEST_AFTER_DEREFERENCE, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is false] +codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 6, DIVIDE_BY_ZERO, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is true] +codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, subtyping_test, 0, DIVIDE_BY_ZERO, [start of procedure subtyping_test(),start of procedure testFields(),start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure setAge:,return from a call to Person_setAge:,start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure getAge,return from a call to Person_getAge,return from a call to testFields] +codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, field_set_correctly, 2, DIVIDE_BY_ZERO, [start of procedure field_set_correctly()] +codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, implicit_expr_set_correctly, 3, DIVIDE_BY_ZERO, [start of procedure implicit_expr_set_correctly()] +codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, point_coords_set_correctly, 2, DIVIDE_BY_ZERO, [start of procedure point_coords_set_correctly()] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainReleaseExampleBucketingArc.m, RetainReleaseArcTest, 0, RETURN_VALUE_IGNORED, [start of procedure RetainReleaseArcTest()] +codetoanalyze/objc/errors/memory_leaks_benchmark/retain_cycle.m, strongcycle, 6, RETAIN_CYCLE, [start of procedure strongcycle()] +codetoanalyze/objc/errors/memory_leaks_benchmark/retain_cycle2.m, strongcycle2, 4, RETAIN_CYCLE, [start of procedure strongcycle2(),start of procedure init,return from a call to Parent_init,start of procedure init,return from a call to Child_init,start of procedure setChild:,return from a call to Parent_setChild:,start of procedure setParent:,return from a call to Child_setParent:] +codetoanalyze/objc/errors/npe/UpdateDict.m, add_nil_in_dict, 10, NULL_DEREFERENCE, [start of procedure add_nil_in_dict()] +codetoanalyze/objc/errors/npe/UpdateDict.m, add_nil_to_array, 4, NULL_DEREFERENCE, [start of procedure add_nil_to_array()] +codetoanalyze/objc/errors/npe/UpdateDict.m, insert_nil_in_array, 4, NULL_DEREFERENCE, [start of procedure insert_nil_in_array()] +codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKey, 4, NULL_DEREFERENCE, [start of procedure nullable_NSDictionary_objectForKey(),Condition is true,Condition is true] +codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKeyedSubscript, 5, NULL_DEREFERENCE, [start of procedure nullable_NSDictionary_objectForKeyedSubscript(),Condition is true,Condition is true] +codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSMapTable_objectForKey, 4, NULL_DEREFERENCE, [start of procedure nullable_NSMapTable_objectForKey(),Condition is true,Condition is true] +codetoanalyze/objc/errors/npe/UpdateDict.m, update_array_with_null, 5, NULL_DEREFERENCE, [start of procedure update_array_with_null()] +codetoanalyze/objc/errors/npe/UpdateDict.m, update_dict_with_key_null, 10, NULL_DEREFERENCE, [start of procedure update_dict_with_key_null()] +codetoanalyze/objc/errors/npe/WeakCapturedVarsNPE.m, __objc_anonymous_block_WeakCapturedA_strongSelfNoCheck______2, 2, NULL_DEREFERENCE, [start of procedure block] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral0, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral0] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral1, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral1] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral2, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral2] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral3, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral3] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayWithObject, 4, NULL_DEREFERENCE, [start of procedure nilInArrayWithObject] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_noProblem, 3, UNINITIALIZED_VALUE, [start of procedure noProblem] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey0, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey0] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey1, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey1] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey2, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey2] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey3, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey3] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue0, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue0] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue1, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue1] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue2, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue2] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue3, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue3] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_noProblem, 3, UNINITIALIZED_VALUE, [start of procedure noProblem] +codetoanalyze/objc/errors/npe/npe_conditional.m, conditionalNPE, 3, NULL_DEREFERENCE, [start of procedure conditionalNPE(),start of procedure name,return from a call to ConditionalA_name,Condition is true] +codetoanalyze/objc/errors/npe/npe_self.m, CSelf_test, 3, NULL_DEREFERENCE, [start of procedure test,Condition is false] +codetoanalyze/objc/errors/npe/nullable.m, derefNullableParamDirect, 0, NULL_DEREFERENCE, [start of procedure derefNullableParamDirect()] +codetoanalyze/objc/errors/npe/nullable.m, derefNullableParamIndirect, 2, NULL_DEREFERENCE, [start of procedure derefNullableParamIndirect()] +codetoanalyze/objc/errors/npe/nullable.m, parameter_nullable_bug, 5, NULL_DEREFERENCE, [start of procedure parameter_nullable_bug()] +codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testDefaultName, 7, NULL_DEREFERENCE, [start of procedure testDefaultName,Condition is true] +codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testExplicit, 6, NULL_DEREFERENCE, [start of procedure testExplicit,Condition is true] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/TollBridgeExample.m, TollBridgeExample_brideRetained, 2, MEMORY_LEAK, [start of procedure brideRetained] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/TollBridgeExample.m, TollBridgeExample_bridge, 2, MEMORY_LEAK, [start of procedure bridge] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/TollBridgeExample.m, bridgeDictionaryNoLeak, 1, UNINITIALIZED_VALUE, [start of procedure bridgeDictionaryNoLeak()] +codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero1, 2, DIVIDE_BY_ZERO, [start of procedure shouldThrowDivideByZero1(),start of procedure init,return from a call to Base_init,start of procedure returnsZero1:,Condition is true,return from a call to Base_returnsZero1:] +codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero2, 2, DIVIDE_BY_ZERO, [start of procedure shouldThrowDivideByZero2(),start of procedure init,return from a call to Base_init,start of procedure returnsZero2(),Condition is false,return from a call to returnsZero2] +codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero3, 3, DIVIDE_BY_ZERO, [start of procedure shouldThrowDivideByZero3(),start of procedure init,return from a call to Derived_init,Condition is true] +codetoanalyze/objc/errors/variadic_methods/premature_nil_termination.m, PrematureNilTermA_nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, [start of procedure nilInArrayWithObjects] +codetoanalyze/objc/errors/memory_leaks_benchmark/FBViewExample.m, FBV_main, 2, PRECONDITION_NOT_MET, [start of procedure main,start of procedure headerView,Condition is false,return from a call to FBV_headerView] +codetoanalyze/objc/errors/memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, StringInitA_macForIV:, 2, MEMORY_LEAK, [start of procedure macForIV:] +codetoanalyze/objc/errors/memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, createURLQueryStringBodyEscaping, 6, PRECONDITION_NOT_MET, [start of procedure createURLQueryStringBodyEscaping(),Condition is true] +codetoanalyze/objc/errors/memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, createURLQueryStringBodyEscaping, 11, UNINITIALIZED_VALUE, [start of procedure createURLQueryStringBodyEscaping(),Condition is false] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainReleaseExampleBucketing.m, RetainReleaseTest, 0, RETURN_VALUE_IGNORED, [start of procedure RetainReleaseTest()] +codetoanalyze/objc/errors/npe/Fraction.m, test_virtual_call, 7, NULL_DEREFERENCE, [start of procedure test_virtual_call(),start of procedure setNumerator:,return from a call to Fraction_setNumerator:,start of procedure getNumerator,return from a call to Fraction_getNumerator,Condition is true] +codetoanalyze/objc/errors/npe/NPD_core_foundation.m, NullDeref_createCloseCrossGlyphNoLeak:, 5, Assert_failure, [start of procedure createCloseCrossGlyphNoLeak:] +codetoanalyze/objc/errors/npe/NPD_core_foundation.m, NullDeref_layoutSubviews, 4, Assert_failure, [start of procedure layoutSubviews] +codetoanalyze/objc/errors/npe/NPD_core_foundation.m, NullDeref_measureFrameSizeForTextNoLeak, 4, Assert_failure, [start of procedure measureFrameSizeForTextNoLeak,Condition is true] +codetoanalyze/objc/errors/npe/Npe_with_equal_names.m, EqualNamesTest, 3, NULL_DEREFERENCE, [start of procedure EqualNamesTest(),start of procedure meth,return from a call to EqualNamesA_meth] +codetoanalyze/objc/errors/npe/Npe_with_equal_names.m, EqualNamesTest2, 2, UNINITIALIZED_VALUE, [start of procedure EqualNamesTest2(),start of procedure meth,return from a call to EqualNamesA_meth] +codetoanalyze/objc/errors/npe/block.m, BlockA_doSomethingThenCallback:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure doSomethingThenCallback:] +codetoanalyze/objc/errors/npe/block.m, BlockA_foo, 5, NULL_DEREFERENCE, [start of procedure foo] +codetoanalyze/objc/errors/npe/block.m, BlockA_foo3:, 3, NULL_DEREFERENCE, [start of procedure foo3:] +codetoanalyze/objc/errors/npe/block.m, BlockA_foo4:, 6, NULL_DEREFERENCE, [start of procedure foo4:] +codetoanalyze/objc/errors/npe/block.m, BlockA_foo7, 2, IVAR_NOT_NULL_CHECKED, [start of procedure foo7] +codetoanalyze/objc/errors/npe/skip_method_with_nil_object.m, SkipMethodNilA_testBug:, 6, PARAMETER_NOT_NULL_CHECKED, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Condition is false] +codetoanalyze/objc/errors/property/main.c, property_main, 3, MEMORY_LEAK, [start of procedure property_main()] +codetoanalyze/objc/errors/shared/block/block-it.m, __objc_anonymous_block_MyBlock_array______1, 5, UNINITIALIZED_VALUE, [start of procedure block,Condition is false] +codetoanalyze/objc/errors/shared/block/block-it.m, __objc_anonymous_block_MyBlock_array_trans______2, 4, UNINITIALIZED_VALUE, [start of procedure block,Condition is false] +codetoanalyze/objc/errors/shared/block/dispatch.m, DispatchA_dispatch_a_block_variable_from_macro_delivers_initialised_object, 3, DIVIDE_BY_ZERO, [start of procedure dispatch_a_block_variable_from_macro_delivers_initialised_object,start of procedure dispatch_a_block_variable_from_macro,start of procedure block,start of procedure init,return from a call to DispatchA_init,return from a call to __objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4,return from a call to DispatchA_dispatch_a_block_variable_from_macro] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_blockCapturedVarLeak, 3, MEMORY_LEAK, [start of procedure blockCapturedVarLeak] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_blockFreeNoLeakTODO, 3, MEMORY_LEAK, [start of procedure blockFreeNoLeakTODO] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_createCloseCrossGlyph:, 2, MEMORY_LEAK, [start of procedure createCloseCrossGlyph:] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_createCloseCrossGlyphNoLeak:, 5, Assert_failure, [start of procedure createCloseCrossGlyphNoLeak:] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_measureFrameSizeForText, 1, MEMORY_LEAK, [start of procedure measureFrameSizeForText] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_measureFrameSizeForTextNoLeak, 3, Assert_failure, [start of procedure measureFrameSizeForTextNoLeak] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_regularLeak, 3, MEMORY_LEAK, [start of procedure regularLeak] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test, 3, MEMORY_LEAK, [start of procedure test] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test1:, 1, MEMORY_LEAK, [start of procedure test1:] +codetoanalyze/objc/errors/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test2:, 1, MEMORY_LEAK, [start of procedure test2:] +codetoanalyze/objc/errors/shared/npe/Nonnull_attribute_example.m, NonnullC_initWithCoder:and:, 2, UNINITIALIZED_VALUE, [start of procedure initWithCoder:and:,start of procedure getA,return from a call to NonnullA_getA] +codetoanalyze/objc/errors/taint/sources.m, testNSHTTPCookie1, 5, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure testNSHTTPCookie1()] +codetoanalyze/objc/errors/taint/sources.m, testNSHTTPCookie2, 5, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure testNSHTTPCookie2()] +codetoanalyze/objc/errors/taint/sources.m, testNSHTTPCookie3, 5, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure testNSHTTPCookie3()] +codetoanalyze/objc/errors/taint/sources.m, testNSHTTPCookie4, 5, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure testNSHTTPCookie4()] +codetoanalyze/objc/errors/taint/viewController.m, ExampleDelegate_application:openURL:sourceApplication:annotation:, 7, TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION, [start of procedure application:openURL:sourceApplication:annotation:,start of procedure init,return from a call to VCA_init,start of procedure ExampleSanitizer(),Condition is false,return from a call to ExampleSanitizer,Condition is false,Condition is true] diff --git a/infer/tests/codetoanalyze/objc/frontend/Makefile b/infer/tests/codetoanalyze/objc/frontend/Makefile index 1f5a1412b..c8893b286 100644 --- a/infer/tests/codetoanalyze/objc/frontend/Makefile +++ b/infer/tests/codetoanalyze/objc/frontend/Makefile @@ -88,5 +88,5 @@ compile: clang $(CLANG_OPTIONS) -fobjc-arc $(SOURCES_ARC) capture: - $(INFER_BIN) -a capture --cxx --frontend-tests --continue --reactive -- clang $(CLANG_OPTIONS) $(SOURCES_NOARC) - $(INFER_BIN) -a capture --cxx --frontend-tests -- clang $(CLANG_OPTIONS) -fobjc-arc $(SOURCES_ARC) + $(INFER_BIN) -a capture --cxx --frontend-tests --continue --reactive --project-root $(TESTS_DIR) -- clang $(CLANG_OPTIONS) $(SOURCES_NOARC) + $(INFER_BIN) -a capture --cxx --frontend-tests --project-root $(TESTS_DIR) -- clang $(CLANG_OPTIONS) -fobjc-arc $(SOURCES_ARC) diff --git a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot index 248feae52..2eb083512 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"__objc_anonymous_block_A_test______1.4b4d782fad0701e8da5729a89669e579_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(class A):unsigned long) [line 21]\n n$2=_fun_A_init(n$1:class A*) virtual [line 21]\n *&#GB$A_test_sharedInstance:struct objc_object*=n$2 [line 21]\n " shape="box"] +"__objc_anonymous_block_A_test______1.4b4d782fad0701e8da5729a89669e579_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(class A):unsigned long) [line 21]\n n$2=_fun_A_init(n$1:class A*) virtual [line 21]\n *&#GB$A_test_sharedInstance:struct objc_object*=n$2 [line 21]\n " shape="box"] "__objc_anonymous_block_A_test______1.4b4d782fad0701e8da5729a89669e579_3" -> "__objc_anonymous_block_A_test______1.4b4d782fad0701e8da5729a89669e579_2" ; @@ -11,11 +11,11 @@ digraph iCFG { "__objc_anonymous_block_A_test______1.4b4d782fad0701e8da5729a89669e579_1" -> "__objc_anonymous_block_A_test______1.4b4d782fad0701e8da5729a89669e579_3" ; -"A_testclass.2696a565613292a22badab2bea8401ba_4" [label="4: Call (_fun___objc_anonymous_block_A_test______1) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test______1); [line 20]\n n$3=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test______1):unsigned long) [line 20]\n *&__objc_anonymous_block_A_test______1:class __objc_anonymous_block_A_test______1=n$3 [line 20]\n n$4=*&#GB$A_test_sharedInstance:struct objc_object* [line 20]\n *n$3.A_test_sharedInstance:struct objc_object*=n$4 [line 20]\n (_fun___objc_anonymous_block_A_test______1)() [line 20]\n " shape="box"] +"A_testclass.2696a565613292a22badab2bea8401ba_4" [label="4: Call (_fun___objc_anonymous_block_A_test______1) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test______1); [line 20]\n n$3=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test______1):unsigned long) [line 20]\n *&__objc_anonymous_block_A_test______1:class __objc_anonymous_block_A_test______1=n$3 [line 20]\n n$4=*&#GB$A_test_sharedInstance:struct objc_object* [line 20]\n *n$3.A_test_sharedInstance:struct objc_object*=n$4 [line 20]\n (_fun___objc_anonymous_block_A_test______1)() [line 20]\n " shape="box"] "A_testclass.2696a565613292a22badab2bea8401ba_4" -> "A_testclass.2696a565613292a22badab2bea8401ba_3" ; -"A_testclass.2696a565613292a22badab2bea8401ba_3" [label="3: Return Stmt \n n$0=*&#GB$A_test_sharedInstance:struct objc_object* [line 25]\n *&return:struct objc_object*=n$0 [line 25]\n " shape="box"] +"A_testclass.2696a565613292a22badab2bea8401ba_3" [label="3: Return Stmt \n n$0=*&#GB$A_test_sharedInstance:struct objc_object* [line 25]\n *&return:struct objc_object*=n$0 [line 25]\n " shape="box"] "A_testclass.2696a565613292a22badab2bea8401ba_3" -> "A_testclass.2696a565613292a22badab2bea8401ba_2" ; @@ -26,7 +26,7 @@ digraph iCFG { "A_testclass.2696a565613292a22badab2bea8401ba_1" -> "A_testclass.2696a565613292a22badab2bea8401ba_4" ; -"__objc_anonymous_block_A_test3______4.aa5c8617f08575eee528c8138958fcd7_3" [label="3: UnaryOperator \n n$16=*&#GB$A_test3_i:int [line 52]\n *&#GB$A_test3_i:int=(n$16 + 1) [line 52]\n " shape="box"] +"__objc_anonymous_block_A_test3______4.aa5c8617f08575eee528c8138958fcd7_3" [label="3: UnaryOperator \n n$16=*&#GB$A_test3_i:int [line 52]\n *&#GB$A_test3_i:int=(n$16 + 1) [line 52]\n " shape="box"] "__objc_anonymous_block_A_test3______4.aa5c8617f08575eee528c8138958fcd7_3" -> "__objc_anonymous_block_A_test3______4.aa5c8617f08575eee528c8138958fcd7_2" ; @@ -37,7 +37,7 @@ digraph iCFG { "__objc_anonymous_block_A_test3______4.aa5c8617f08575eee528c8138958fcd7_1" -> "__objc_anonymous_block_A_test3______4.aa5c8617f08575eee528c8138958fcd7_3" ; -"__objc_anonymous_block_A_test_leak______2.c5d678f27e9d82d9f4d1cf0324051fa7_3" [label="3: BinaryOperatorStmt: Assign \n n$5=_fun___objc_alloc_no_fail(sizeof(class A):unsigned long) [line 31]\n n$6=_fun_A_init(n$5:class A*) virtual [line 31]\n *&#GB$A_test_leak_sharedInstance:struct objc_object*=n$6 [line 31]\n " shape="box"] +"__objc_anonymous_block_A_test_leak______2.c5d678f27e9d82d9f4d1cf0324051fa7_3" [label="3: BinaryOperatorStmt: Assign \n n$5=_fun___objc_alloc_no_fail(sizeof(class A):unsigned long) [line 31]\n n$6=_fun_A_init(n$5:class A*) virtual [line 31]\n *&#GB$A_test_leak_sharedInstance:struct objc_object*=n$6 [line 31]\n " shape="box"] "__objc_anonymous_block_A_test_leak______2.c5d678f27e9d82d9f4d1cf0324051fa7_3" -> "__objc_anonymous_block_A_test_leak______2.c5d678f27e9d82d9f4d1cf0324051fa7_2" ; @@ -59,15 +59,15 @@ digraph iCFG { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"A_test2class.05060cb35af728ef51a7bfeccc0b6d94_5" [label="5: BinaryOperatorStmt: Assign \n n$13=_fun___objc_alloc_no_fail(sizeof(class A):unsigned long) [line 38]\n n$14=_fun_A_init(n$13:class A*) virtual [line 38]\n *&#GB$A_test2_sharedInstance:struct objc_object*=n$14 [line 38]\n " shape="box"] +"A_test2class.05060cb35af728ef51a7bfeccc0b6d94_5" [label="5: BinaryOperatorStmt: Assign \n n$13=_fun___objc_alloc_no_fail(sizeof(class A):unsigned long) [line 38]\n n$14=_fun_A_init(n$13:class A*) virtual [line 38]\n *&#GB$A_test2_sharedInstance:struct objc_object*=n$14 [line 38]\n " shape="box"] "A_test2class.05060cb35af728ef51a7bfeccc0b6d94_5" -> "A_test2class.05060cb35af728ef51a7bfeccc0b6d94_4" ; -"A_test2class.05060cb35af728ef51a7bfeccc0b6d94_4" [label="4: Call (_fun___objc_anonymous_block_A_test2______3) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test2______3); [line 39]\n n$11=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test2______3):unsigned long) [line 39]\n *&__objc_anonymous_block_A_test2______3:class __objc_anonymous_block_A_test2______3=n$11 [line 39]\n n$12=*&#GB$A_test2_sharedInstance:struct objc_object* [line 39]\n *n$11.A_test2_sharedInstance:struct objc_object*=n$12 [line 39]\n (_fun___objc_anonymous_block_A_test2______3)() [line 39]\n " shape="box"] +"A_test2class.05060cb35af728ef51a7bfeccc0b6d94_4" [label="4: Call (_fun___objc_anonymous_block_A_test2______3) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test2______3); [line 39]\n n$11=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test2______3):unsigned long) [line 39]\n *&__objc_anonymous_block_A_test2______3:class __objc_anonymous_block_A_test2______3=n$11 [line 39]\n n$12=*&#GB$A_test2_sharedInstance:struct objc_object* [line 39]\n *n$11.A_test2_sharedInstance:struct objc_object*=n$12 [line 39]\n (_fun___objc_anonymous_block_A_test2______3)() [line 39]\n " shape="box"] "A_test2class.05060cb35af728ef51a7bfeccc0b6d94_4" -> "A_test2class.05060cb35af728ef51a7bfeccc0b6d94_3" ; -"A_test2class.05060cb35af728ef51a7bfeccc0b6d94_3" [label="3: Return Stmt \n n$9=*&#GB$A_test2_sharedInstance:struct objc_object* [line 44]\n *&return:struct objc_object*=n$9 [line 44]\n " shape="box"] +"A_test2class.05060cb35af728ef51a7bfeccc0b6d94_3" [label="3: Return Stmt \n n$9=*&#GB$A_test2_sharedInstance:struct objc_object* [line 44]\n *&return:struct objc_object*=n$9 [line 44]\n " shape="box"] "A_test2class.05060cb35af728ef51a7bfeccc0b6d94_3" -> "A_test2class.05060cb35af728ef51a7bfeccc0b6d94_2" ; @@ -78,7 +78,7 @@ digraph iCFG { "A_test2class.05060cb35af728ef51a7bfeccc0b6d94_1" -> "A_test2class.05060cb35af728ef51a7bfeccc0b6d94_5" ; -"A_test_leakclass.0ff539b09a2928944b8132d565942f5b_3" [label="3: Call (_fun___objc_anonymous_block_A_test_leak______2) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test_leak______2); [line 30]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test_leak______2):unsigned long) [line 30]\n *&__objc_anonymous_block_A_test_leak______2:class __objc_anonymous_block_A_test_leak______2=n$7 [line 30]\n n$8=*&#GB$A_test_leak_sharedInstance:struct objc_object* [line 30]\n *n$7.A_test_leak_sharedInstance:struct objc_object*=n$8 [line 30]\n (_fun___objc_anonymous_block_A_test_leak______2)() [line 30]\n " shape="box"] +"A_test_leakclass.0ff539b09a2928944b8132d565942f5b_3" [label="3: Call (_fun___objc_anonymous_block_A_test_leak______2) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test_leak______2); [line 30]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test_leak______2):unsigned long) [line 30]\n *&__objc_anonymous_block_A_test_leak______2:class __objc_anonymous_block_A_test_leak______2=n$7 [line 30]\n n$8=*&#GB$A_test_leak_sharedInstance:struct objc_object* [line 30]\n *n$7.A_test_leak_sharedInstance:struct objc_object*=n$8 [line 30]\n (_fun___objc_anonymous_block_A_test_leak______2)() [line 30]\n " shape="box"] "A_test_leakclass.0ff539b09a2928944b8132d565942f5b_3" -> "A_test_leakclass.0ff539b09a2928944b8132d565942f5b_2" ; @@ -89,7 +89,7 @@ digraph iCFG { "A_test_leakclass.0ff539b09a2928944b8132d565942f5b_1" -> "A_test_leakclass.0ff539b09a2928944b8132d565942f5b_3" ; -"__objc_anonymous_block_A_test2______3.0e953887bdb7a25b2d68b61a14972fb5_3" [label="3: DeclStmt \n n$10=*&#GB$A_test2_sharedInstance:struct objc_object* [line 41]\n *&p:struct objc_object*=n$10 [line 41]\n " shape="box"] +"__objc_anonymous_block_A_test2______3.0e953887bdb7a25b2d68b61a14972fb5_3" [label="3: DeclStmt \n n$10=*&#GB$A_test2_sharedInstance:struct objc_object* [line 41]\n *&p:struct objc_object*=n$10 [line 41]\n " shape="box"] "__objc_anonymous_block_A_test2______3.0e953887bdb7a25b2d68b61a14972fb5_3" -> "__objc_anonymous_block_A_test2______3.0e953887bdb7a25b2d68b61a14972fb5_2" ; @@ -100,11 +100,11 @@ digraph iCFG { "__objc_anonymous_block_A_test2______3.0e953887bdb7a25b2d68b61a14972fb5_1" -> "__objc_anonymous_block_A_test2______3.0e953887bdb7a25b2d68b61a14972fb5_3" ; -"A_test3class.3d5cf1a8c66c09ea9b5fe59824ce8642_4" [label="4: Call (_fun___objc_anonymous_block_A_test3______4) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test3______4); [line 50]\n n$17=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test3______4):unsigned long) [line 50]\n *&__objc_anonymous_block_A_test3______4:class __objc_anonymous_block_A_test3______4=n$17 [line 50]\n n$18=*&#GB$A_test3_i:int [line 50]\n *n$17.A_test3_i:int=n$18 [line 50]\n (_fun___objc_anonymous_block_A_test3______4)() [line 50]\n " shape="box"] +"A_test3class.3d5cf1a8c66c09ea9b5fe59824ce8642_4" [label="4: Call (_fun___objc_anonymous_block_A_test3______4) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test3______4); [line 50]\n n$17=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test3______4):unsigned long) [line 50]\n *&__objc_anonymous_block_A_test3______4:class __objc_anonymous_block_A_test3______4=n$17 [line 50]\n n$18=*&#GB$A_test3_i:int [line 50]\n *n$17.A_test3_i:int=n$18 [line 50]\n (_fun___objc_anonymous_block_A_test3______4)() [line 50]\n " shape="box"] "A_test3class.3d5cf1a8c66c09ea9b5fe59824ce8642_4" -> "A_test3class.3d5cf1a8c66c09ea9b5fe59824ce8642_3" ; -"A_test3class.3d5cf1a8c66c09ea9b5fe59824ce8642_3" [label="3: Return Stmt \n n$15=*&#GB$A_test3_i:int [line 55]\n *&return:int=n$15 [line 55]\n " shape="box"] +"A_test3class.3d5cf1a8c66c09ea9b5fe59824ce8642_3" [label="3: Return Stmt \n n$15=*&#GB$A_test3_i:int [line 55]\n *&return:int=n$15 [line 55]\n " shape="box"] "A_test3class.3d5cf1a8c66c09ea9b5fe59824ce8642_3" -> "A_test3class.3d5cf1a8c66c09ea9b5fe59824ce8642_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot b/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot index c5ef89af0..acc50422c 100644 --- a/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot @@ -11,7 +11,7 @@ digraph iCFG { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" [label="3: DeclStmt \n n$0=_fun_NSString_stringWithUTF8String:(\"Rodriguez\":char*) [line 12]\n *&#GB$lastName:class NSString*=n$0 [line 12]\n " shape="box"] +"__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" [label="3: DeclStmt \n n$0=_fun_NSString_stringWithUTF8String:(\"Rodriguez\":char*) [line 12]\n *&#GB$lastName:class NSString*=n$0 [line 12]\n " shape="box"] "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" -> "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot index 9f2154ae0..d7041f827 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"FBScrollViewDelegateProxy_layoutToUseclass.9bf93674d347fe5d489b97d1cb9f15c1_3" [label="3: Return Stmt \n n$0=*&#GB$__iPhoneVideoAdLayout:struct FBVideoAdLayout [line 45]\n *&return:struct FBVideoAdLayout=n$0 [line 45]\n " shape="box"] +"FBScrollViewDelegateProxy_layoutToUseclass.9bf93674d347fe5d489b97d1cb9f15c1_3" [label="3: Return Stmt \n n$0=*&#GB$__iPhoneVideoAdLayout:struct FBVideoAdLayout [line 45]\n *&return:struct FBVideoAdLayout=n$0 [line 45]\n " shape="box"] "FBScrollViewDelegateProxy_layoutToUseclass.9bf93674d347fe5d489b97d1cb9f15c1_3" -> "FBScrollViewDelegateProxy_layoutToUseclass.9bf93674d347fe5d489b97d1cb9f15c1_2" ; @@ -11,7 +11,7 @@ digraph iCFG { "FBScrollViewDelegateProxy_layoutToUseclass.9bf93674d347fe5d489b97d1cb9f15c1_1" -> "FBScrollViewDelegateProxy_layoutToUseclass.9bf93674d347fe5d489b97d1cb9f15c1_3" ; -"__infer_globals_initializer___iPhoneVideoAdLayout.b0bc97c09b8fbd16a06b17b7a5d22042_3" [label="3: DeclStmt \n *&#GB$__iPhoneVideoAdLayout.placeHolderWidth:float=244 [line 35]\n *&#GB$__iPhoneVideoAdLayout.placeHolderHeight:float=175 [line 35]\n *&#GB$__iPhoneVideoAdLayout.contentLeftSidePadding:float=20 [line 35]\n *&#GB$__iPhoneVideoAdLayout.contentRightSidePadding:float=20 [line 35]\n *&#GB$__iPhoneVideoAdLayout.additionalPlaceholderOffset:float=0 [line 35]\n *&#GB$__iPhoneVideoAdLayout.contentGap:float=7 [line 35]\n " shape="box"] +"__infer_globals_initializer___iPhoneVideoAdLayout.b0bc97c09b8fbd16a06b17b7a5d22042_3" [label="3: DeclStmt \n *&#GB$__iPhoneVideoAdLayout.placeHolderWidth:float=244 [line 35]\n *&#GB$__iPhoneVideoAdLayout.placeHolderHeight:float=175 [line 35]\n *&#GB$__iPhoneVideoAdLayout.contentLeftSidePadding:float=20 [line 35]\n *&#GB$__iPhoneVideoAdLayout.contentRightSidePadding:float=20 [line 35]\n *&#GB$__iPhoneVideoAdLayout.additionalPlaceholderOffset:float=0 [line 35]\n *&#GB$__iPhoneVideoAdLayout.contentGap:float=7 [line 35]\n " shape="box"] "__infer_globals_initializer___iPhoneVideoAdLayout.b0bc97c09b8fbd16a06b17b7a5d22042_3" -> "__infer_globals_initializer___iPhoneVideoAdLayout.b0bc97c09b8fbd16a06b17b7a5d22042_2" ; @@ -22,7 +22,7 @@ digraph iCFG { "__infer_globals_initializer___iPhoneVideoAdLayout.b0bc97c09b8fbd16a06b17b7a5d22042_1" -> "__infer_globals_initializer___iPhoneVideoAdLayout.b0bc97c09b8fbd16a06b17b7a5d22042_3" ; -"__infer_globals_initializer___iPadVideoAdLayout.82a4d90dac0bb09630a78b276b79e1ca_3" [label="3: DeclStmt \n *&#GB$__iPadVideoAdLayout.placeHolderWidth:float=554 [line 26]\n *&#GB$__iPadVideoAdLayout.placeHolderHeight:float=350 [line 26]\n *&#GB$__iPadVideoAdLayout.contentLeftSidePadding:float=140 [line 26]\n *&#GB$__iPadVideoAdLayout.contentRightSidePadding:float=60 [line 26]\n *&#GB$__iPadVideoAdLayout.additionalPlaceholderOffset:float=40 [line 26]\n *&#GB$__iPadVideoAdLayout.contentGap:float=11 [line 26]\n " shape="box"] +"__infer_globals_initializer___iPadVideoAdLayout.82a4d90dac0bb09630a78b276b79e1ca_3" [label="3: DeclStmt \n *&#GB$__iPadVideoAdLayout.placeHolderWidth:float=554 [line 26]\n *&#GB$__iPadVideoAdLayout.placeHolderHeight:float=350 [line 26]\n *&#GB$__iPadVideoAdLayout.contentLeftSidePadding:float=140 [line 26]\n *&#GB$__iPadVideoAdLayout.contentRightSidePadding:float=60 [line 26]\n *&#GB$__iPadVideoAdLayout.additionalPlaceholderOffset:float=40 [line 26]\n *&#GB$__iPadVideoAdLayout.contentGap:float=11 [line 26]\n " shape="box"] "__infer_globals_initializer___iPadVideoAdLayout.82a4d90dac0bb09630a78b276b79e1ca_3" -> "__infer_globals_initializer___iPadVideoAdLayout.82a4d90dac0bb09630a78b276b79e1ca_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot index 441ca3a1b..95697293b 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"AClass_sharedInstanceinstance.8119c64d9e8ea5cab9416c2c3ff21dc7_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:class NSObject* [line 21]\n *&return:class NSObject*=n$0 [line 21]\n " shape="box"] +"AClass_sharedInstanceinstance.8119c64d9e8ea5cab9416c2c3ff21dc7_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:class NSObject* [line 21]\n *&return:class NSObject*=n$0 [line 21]\n " shape="box"] "AClass_sharedInstanceinstance.8119c64d9e8ea5cab9416c2c3ff21dc7_3" -> "AClass_sharedInstanceinstance.8119c64d9e8ea5cab9416c2c3ff21dc7_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot index 5f5827e3e..ada4d42dc 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"AClass_sharedInstanceinstance.8119c64d9e8ea5cab9416c2c3ff21dc7_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:class NSObject* [line 21]\n *&return:class NSObject*=n$0 [line 21]\n " shape="box"] +"AClass_sharedInstanceinstance.8119c64d9e8ea5cab9416c2c3ff21dc7_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:class NSObject* [line 21]\n *&return:class NSObject*=n$0 [line 21]\n " shape="box"] "AClass_sharedInstanceinstance.8119c64d9e8ea5cab9416c2c3ff21dc7_3" -> "AClass_sharedInstanceinstance.8119c64d9e8ea5cab9416c2c3ff21dc7_2" ; diff --git a/infer/tests/codetoanalyze/objc/linters/Makefile b/infer/tests/codetoanalyze/objc/linters/Makefile index 3c255ffe2..457d20a22 100644 --- a/infer/tests/codetoanalyze/objc/linters/Makefile +++ b/infer/tests/codetoanalyze/objc/linters/Makefile @@ -9,7 +9,7 @@ TESTS_DIR = ../../.. ANALYZER = linters CLANG_OPTIONS = -x objective-c -fobjc-arc -c -INFER_OPTIONS = --no-filtering --debug-exceptions +INFER_OPTIONS = --no-filtering --debug-exceptions --project-root $(TESTS_DIR) INFERPRINT_OPTIONS = --issues-tests SOURCES = \ diff --git a/infer/tests/codetoanalyze/objc/linters/issues.exp b/infer/tests/codetoanalyze/objc/linters/issues.exp index c0b026d57..8444af331 100644 --- a/infer/tests/codetoanalyze/objc/linters/issues.exp +++ b/infer/tests/codetoanalyze/objc/linters/issues.exp @@ -1,34 +1,34 @@ -assign_pointer.m, Linters_dummy_method, 18, ASSIGN_POINTER_WARNING, [] -assign_pointer.m, Linters_dummy_method, 20, ASSIGN_POINTER_WARNING, [] -assign_pointer.m, Linters_dummy_method, 22, ASSIGN_POINTER_WARNING, [] -assign_pointer.m, Linters_dummy_method, 38, ASSIGN_POINTER_WARNING, [] -atomic_prop.m, A_bla, 98, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -atomic_prop.m, A_bla, 99, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -atomic_prop.m, A_readP, 77, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -atomic_prop.m, A_readQ, 86, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -atomic_prop.m, A_writeQ:, 82, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -atomic_prop.m, __objc_anonymous_block_______1, 114, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -badpointer.m, bad1, 17, BAD_POINTER_COMPARISON, [] -badpointer.m, bad10, 139, BAD_POINTER_COMPARISON, [] -badpointer.m, bad11, 148, BAD_POINTER_COMPARISON, [] -badpointer.m, bad12, 161, BAD_POINTER_COMPARISON, [] -badpointer.m, bad2, 26, BAD_POINTER_COMPARISON, [] -badpointer.m, bad3, 33, BAD_POINTER_COMPARISON, [] -badpointer.m, bad4, 85, BAD_POINTER_COMPARISON, [] -badpointer.m, bad5, 99, BAD_POINTER_COMPARISON, [] -badpointer.m, bad6, 106, BAD_POINTER_COMPARISON, [] -badpointer.m, bad7, 121, BAD_POINTER_COMPARISON, [] -badpointer.m, bad8, 128, BAD_POINTER_COMPARISON, [] -badpointer.m, bad9, 135, BAD_POINTER_COMPARISON, [] -nsnumber.m, bad1, 13, BAD_POINTER_COMPARISON, [] -nsnumber.m, bad2, 18, BAD_POINTER_COMPARISON, [] -nsnumber.m, bad3, 23, BAD_POINTER_COMPARISON, [] -nsnumber.m, bad4, 43, BAD_POINTER_COMPARISON, [] -registered_observer/Person.m, Linters_dummy_method, 80, REGISTERED_OBSERVER_BEING_DEALLOCATED, [] -registered_observer/Person.m, Linters_dummy_method, 97, REGISTERED_OBSERVER_BEING_DEALLOCATED, [] -registered_observer/ViewController3.m, Linters_dummy_method, 14, REGISTERED_OBSERVER_BEING_DEALLOCATED, [] -strong_delegate.m, Linters_dummy_method, 15, STRONG_DELEGATE_WARNING, [] -strong_delegate.m, Linters_dummy_method, 19, STRONG_DELEGATE_WARNING, [] -strong_delegate.m, Linters_dummy_method, 21, STRONG_DELEGATE_WARNING, [] -strong_delegate.m, Linters_dummy_method, 23, STRONG_DELEGATE_WARNING, [] -strong_delegate.m, Linters_dummy_method, 25, STRONG_DELEGATE_WARNING, [] +codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 18, ASSIGN_POINTER_WARNING, [] +codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 20, ASSIGN_POINTER_WARNING, [] +codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 22, ASSIGN_POINTER_WARNING, [] +codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 38, ASSIGN_POINTER_WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A_bla, 98, DIRECT_ATOMIC_PROPERTY_ACCESS, [] +codetoanalyze/objc/linters/atomic_prop.m, A_bla, 99, DIRECT_ATOMIC_PROPERTY_ACCESS, [] +codetoanalyze/objc/linters/atomic_prop.m, A_readP, 77, DIRECT_ATOMIC_PROPERTY_ACCESS, [] +codetoanalyze/objc/linters/atomic_prop.m, A_readQ, 86, DIRECT_ATOMIC_PROPERTY_ACCESS, [] +codetoanalyze/objc/linters/atomic_prop.m, A_writeQ:, 82, DIRECT_ATOMIC_PROPERTY_ACCESS, [] +codetoanalyze/objc/linters/atomic_prop.m, __objc_anonymous_block_______1, 114, DIRECT_ATOMIC_PROPERTY_ACCESS, [] +codetoanalyze/objc/linters/badpointer.m, bad1, 17, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad10, 139, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad11, 148, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad12, 161, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad2, 26, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad3, 33, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad4, 85, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad5, 99, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad6, 106, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad7, 121, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad8, 128, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/badpointer.m, bad9, 135, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/nsnumber.m, bad1, 13, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/nsnumber.m, bad2, 18, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/nsnumber.m, bad3, 23, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/nsnumber.m, bad4, 43, BAD_POINTER_COMPARISON, [] +codetoanalyze/objc/linters/registered_observer/Person.m, Linters_dummy_method, 80, REGISTERED_OBSERVER_BEING_DEALLOCATED, [] +codetoanalyze/objc/linters/registered_observer/Person.m, Linters_dummy_method, 97, REGISTERED_OBSERVER_BEING_DEALLOCATED, [] +codetoanalyze/objc/linters/registered_observer/ViewController3.m, Linters_dummy_method, 14, REGISTERED_OBSERVER_BEING_DEALLOCATED, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 15, STRONG_DELEGATE_WARNING, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 19, STRONG_DELEGATE_WARNING, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 21, STRONG_DELEGATE_WARNING, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 23, STRONG_DELEGATE_WARNING, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 25, STRONG_DELEGATE_WARNING, [] diff --git a/infer/tests/codetoanalyze/objc/shared/block/block.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot index e67b7214a..5a8ac106d 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"__objc_anonymous_block___objc_anonymous_block_main1______2______3.6d1e0725e2965c4b9fdfca6faccef5e0_3" [label="3: Return Stmt \n n$19=*&z:int [line 25]\n n$20=*&#GB$main1_s:int [line 25]\n n$21=*&x:int [line 25]\n n$22=*&bla:int [line 25]\n *&return:int=(((n$19 + n$20) + n$21) + n$22) [line 25]\n " shape="box"] +"__objc_anonymous_block___objc_anonymous_block_main1______2______3.6d1e0725e2965c4b9fdfca6faccef5e0_3" [label="3: Return Stmt \n n$19=*&z:int [line 25]\n n$20=*&#GB$main1_s:int [line 25]\n n$21=*&x:int [line 25]\n n$22=*&bla:int [line 25]\n *&return:int=(((n$19 + n$20) + n$21) + n$22) [line 25]\n " shape="box"] "__objc_anonymous_block___objc_anonymous_block_main1______2______3.6d1e0725e2965c4b9fdfca6faccef5e0_3" -> "__objc_anonymous_block___objc_anonymous_block_main1______2______3.6d1e0725e2965c4b9fdfca6faccef5e0_2" ; @@ -15,7 +15,7 @@ digraph iCFG { "__objc_anonymous_block_main1______2.5623c8c0e39082421999af7ffad7371b_6" -> "__objc_anonymous_block_main1______2.5623c8c0e39082421999af7ffad7371b_5" ; -"__objc_anonymous_block_main1______2.5623c8c0e39082421999af7ffad7371b_5" [label="5: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block___objc_anonymous_block_main1______2______3); [line 24]\n n$23=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block___objc_anonymous_block_main1______2______3):unsigned long) [line 24]\n *&__objc_anonymous_block___objc_anonymous_block_main1______2______3:class __objc_anonymous_block___objc_anonymous_block_main1______2______3=n$23 [line 24]\n n$24=*&x:int [line 24]\n n$25=*&bla:int [line 24]\n n$26=*&#GB$main1_s:int [line 24]\n *n$23.x:int=n$24 [line 24]\n *n$23.bla:int=n$25 [line 24]\n *n$23.main1_s:int=n$26 [line 24]\n n$17=*&x:int [line 24]\n n$18=*&bla:int [line 24]\n *&addblock2:_fn_(*)=(_fun___objc_anonymous_block___objc_anonymous_block_main1______2______3,n$17,n$18) [line 24]\n " shape="box"] +"__objc_anonymous_block_main1______2.5623c8c0e39082421999af7ffad7371b_5" [label="5: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block___objc_anonymous_block_main1______2______3); [line 24]\n n$23=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block___objc_anonymous_block_main1______2______3):unsigned long) [line 24]\n *&__objc_anonymous_block___objc_anonymous_block_main1______2______3:class __objc_anonymous_block___objc_anonymous_block_main1______2______3=n$23 [line 24]\n n$24=*&x:int [line 24]\n n$25=*&bla:int [line 24]\n n$26=*&#GB$main1_s:int [line 24]\n *n$23.x:int=n$24 [line 24]\n *n$23.bla:int=n$25 [line 24]\n *n$23.main1_s:int=n$26 [line 24]\n n$17=*&x:int [line 24]\n n$18=*&bla:int [line 24]\n *&addblock2:_fn_(*)=(_fun___objc_anonymous_block___objc_anonymous_block_main1______2______3,n$17,n$18) [line 24]\n " shape="box"] "__objc_anonymous_block_main1______2.5623c8c0e39082421999af7ffad7371b_5" -> "__objc_anonymous_block_main1______2.5623c8c0e39082421999af7ffad7371b_4" ; @@ -45,7 +45,7 @@ digraph iCFG { "BlockMain.116013dceff9629776ec833c9d43561d_1" -> "BlockMain.116013dceff9629776ec833c9d43561d_3" ; -"__objc_anonymous_block_main1______1.1ad2c5f7d31875243a1bd27c2e3ec82e_3" [label="3: Return Stmt \n n$5=*&e:int [line 35]\n n$6=*&#GB$main1_s:int [line 35]\n *&return:int=(n$5 - n$6) [line 35]\n " shape="box"] +"__objc_anonymous_block_main1______1.1ad2c5f7d31875243a1bd27c2e3ec82e_3" [label="3: Return Stmt \n n$5=*&e:int [line 35]\n n$6=*&#GB$main1_s:int [line 35]\n *&return:int=(n$5 - n$6) [line 35]\n " shape="box"] "__objc_anonymous_block_main1______1.1ad2c5f7d31875243a1bd27c2e3ec82e_3" -> "__objc_anonymous_block_main1______1.1ad2c5f7d31875243a1bd27c2e3ec82e_2" ; @@ -56,7 +56,7 @@ digraph iCFG { "__objc_anonymous_block_main1______1.1ad2c5f7d31875243a1bd27c2e3ec82e_1" -> "__objc_anonymous_block_main1______1.1ad2c5f7d31875243a1bd27c2e3ec82e_3" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_10" [label="10: DeclStmt \n *&#GB$main1_s:int=3 [line 12]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_10" [label="10: DeclStmt \n *&#GB$main1_s:int=3 [line 12]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_10" -> "main1.38f534a9576db7ec6ebcbca8c111f942_9" ; @@ -72,7 +72,7 @@ digraph iCFG { "main1.38f534a9576db7ec6ebcbca8c111f942_7" -> "main1.38f534a9576db7ec6ebcbca8c111f942_6" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_6" [label="6: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_main1______1); [line 34]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_main1______1):unsigned long) [line 34]\n *&__objc_anonymous_block_main1______1:class __objc_anonymous_block_main1______1=n$7 [line 34]\n n$8=*&#GB$main1_s:int [line 34]\n *n$7.main1_s:int=n$8 [line 34]\n *&addblock:_fn_(*)=(_fun___objc_anonymous_block_main1______1) [line 34]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_6" [label="6: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_main1______1); [line 34]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_main1______1):unsigned long) [line 34]\n *&__objc_anonymous_block_main1______1:class __objc_anonymous_block_main1______1=n$7 [line 34]\n n$8=*&#GB$main1_s:int [line 34]\n *n$7.main1_s:int=n$8 [line 34]\n *&addblock:_fn_(*)=(_fun___objc_anonymous_block_main1______1) [line 34]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_6" -> "main1.38f534a9576db7ec6ebcbca8c111f942_5" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot index f9e7b5921..055f4d06a 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_14" [label="14: BinaryOperatorStmt: Assign \n *&#GB$g:int=7 [line 22]\n " shape="box"] +"My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_14" [label="14: BinaryOperatorStmt: Assign \n *&#GB$g:int=7 [line 22]\n " shape="box"] "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_14" -> "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_13" ; @@ -8,7 +8,7 @@ digraph iCFG { "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_13" -> "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_12" ; -"My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_12" [label="12: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_My_manager_m______1); [line 25]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_My_manager_m______1):unsigned long) [line 25]\n *&__objc_anonymous_block_My_manager_m______1:class __objc_anonymous_block_My_manager_m______1=n$7 [line 25]\n n$8=*&z:int [line 25]\n n$9=*&#GB$g:int [line 25]\n *n$7.z:int=n$8 [line 25]\n *n$7.g:int=n$9 [line 25]\n n$5=*&z:int [line 25]\n *&b:_fn_(*)=(_fun___objc_anonymous_block_My_manager_m______1,n$5) [line 25]\n " shape="box"] +"My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_12" [label="12: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_My_manager_m______1); [line 25]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_My_manager_m______1):unsigned long) [line 25]\n *&__objc_anonymous_block_My_manager_m______1:class __objc_anonymous_block_My_manager_m______1=n$7 [line 25]\n n$8=*&z:int [line 25]\n n$9=*&#GB$g:int [line 25]\n *n$7.z:int=n$8 [line 25]\n *n$7.g:int=n$9 [line 25]\n n$5=*&z:int [line 25]\n *&b:_fn_(*)=(_fun___objc_anonymous_block_My_manager_m______1,n$5) [line 25]\n " shape="box"] "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_12" -> "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_11" ; @@ -36,7 +36,7 @@ digraph iCFG { "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_6" -> "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_8" ; -"My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&#GB$g:int [line 30]\n " shape="box"] +"My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&#GB$g:int [line 30]\n " shape="box"] "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_5" -> "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_6" ; @@ -56,7 +56,7 @@ digraph iCFG { "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_1" -> "My_manager_minstance.ec3b234dca60e6a1d3cb3362178416b6_14" ; -"__objc_anonymous_block_My_manager_m______1.3cc413211d47d071e2197fcf824430cb_3" [label="3: BinaryOperatorStmt: Assign \n n$6=*&z:int [line 26]\n *&#GB$g:int=(n$6 + 3) [line 26]\n " shape="box"] +"__objc_anonymous_block_My_manager_m______1.3cc413211d47d071e2197fcf824430cb_3" [label="3: BinaryOperatorStmt: Assign \n n$6=*&z:int [line 26]\n *&#GB$g:int=(n$6 + 3) [line 26]\n " shape="box"] "__objc_anonymous_block_My_manager_m______1.3cc413211d47d071e2197fcf824430cb_3" -> "__objc_anonymous_block_My_manager_m______1.3cc413211d47d071e2197fcf824430cb_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot index f40cbd8a3..42837f45d 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot @@ -19,7 +19,7 @@ digraph iCFG { "DispatchA_dispatch_a_block_variable_from_macro_delivers_initialised_objectclass.a40b698fe8052f5a0518056e9384ff2c_1" -> "DispatchA_dispatch_a_block_variable_from_macro_delivers_initialised_objectclass.a40b698fe8052f5a0518056e9384ff2c_5" ; -"__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3.9c4c8eed871dc8fb1938edcd3d194533_3" [label="3: BinaryOperatorStmt: Assign \n n$16=_fun___objc_alloc_no_fail(sizeof(class DispatchA):unsigned long) [line 48]\n n$17=_fun_DispatchA_init(n$16:class DispatchA*) virtual [line 48]\n *&#GB$DispatchA_dispatch_a_block_variable_static_storage__:struct objc_object*=n$17 [line 48]\n " shape="box"] +"__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3.9c4c8eed871dc8fb1938edcd3d194533_3" [label="3: BinaryOperatorStmt: Assign \n n$16=_fun___objc_alloc_no_fail(sizeof(class DispatchA):unsigned long) [line 48]\n n$17=_fun_DispatchA_init(n$16:class DispatchA*) virtual [line 48]\n *&#GB$DispatchA_dispatch_a_block_variable_static_storage__:struct objc_object*=n$17 [line 48]\n " shape="box"] "__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3.9c4c8eed871dc8fb1938edcd3d194533_3" -> "__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3.9c4c8eed871dc8fb1938edcd3d194533_2" ; @@ -30,7 +30,7 @@ digraph iCFG { "__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3.9c4c8eed871dc8fb1938edcd3d194533_1" -> "__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3.9c4c8eed871dc8fb1938edcd3d194533_3" ; -"__objc_anonymous_block_DispatchA_trans______2.8ca180fe9a17b86cb599eced71242770_3" [label="3: BinaryOperatorStmt: Assign \n n$9=_fun___objc_alloc_no_fail(sizeof(class DispatchA):unsigned long) [line 39]\n n$10=_fun_DispatchA_init(n$9:class DispatchA*) virtual [line 39]\n *&#GB$DispatchA_trans_sharedInstance:struct objc_object*=n$10 [line 39]\n " shape="box"] +"__objc_anonymous_block_DispatchA_trans______2.8ca180fe9a17b86cb599eced71242770_3" [label="3: BinaryOperatorStmt: Assign \n n$9=_fun___objc_alloc_no_fail(sizeof(class DispatchA):unsigned long) [line 39]\n n$10=_fun_DispatchA_init(n$9:class DispatchA*) virtual [line 39]\n *&#GB$DispatchA_trans_sharedInstance:struct objc_object*=n$10 [line 39]\n " shape="box"] "__objc_anonymous_block_DispatchA_trans______2.8ca180fe9a17b86cb599eced71242770_3" -> "__objc_anonymous_block_DispatchA_trans______2.8ca180fe9a17b86cb599eced71242770_2" ; @@ -41,7 +41,7 @@ digraph iCFG { "__objc_anonymous_block_DispatchA_trans______2.8ca180fe9a17b86cb599eced71242770_1" -> "__objc_anonymous_block_DispatchA_trans______2.8ca180fe9a17b86cb599eced71242770_3" ; -"__objc_anonymous_block_DispatchA_sharedInstance______1.4a2e89fcdf390871f5277dca0d16c43b_3" [label="3: BinaryOperatorStmt: Assign \n n$2=_fun___objc_alloc_no_fail(sizeof(class DispatchA):unsigned long) [line 31]\n n$3=_fun_DispatchA_init(n$2:class DispatchA*) virtual [line 31]\n *&#GB$DispatchA_sharedInstance_sharedInstance:struct objc_object*=n$3 [line 31]\n " shape="box"] +"__objc_anonymous_block_DispatchA_sharedInstance______1.4a2e89fcdf390871f5277dca0d16c43b_3" [label="3: BinaryOperatorStmt: Assign \n n$2=_fun___objc_alloc_no_fail(sizeof(class DispatchA):unsigned long) [line 31]\n n$3=_fun_DispatchA_init(n$2:class DispatchA*) virtual [line 31]\n *&#GB$DispatchA_sharedInstance_sharedInstance:struct objc_object*=n$3 [line 31]\n " shape="box"] "__objc_anonymous_block_DispatchA_sharedInstance______1.4a2e89fcdf390871f5277dca0d16c43b_3" -> "__objc_anonymous_block_DispatchA_sharedInstance______1.4a2e89fcdf390871f5277dca0d16c43b_2" ; @@ -107,7 +107,7 @@ digraph iCFG { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_1" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" ; -"DispatchA_dispatch_a_block_variable_from_macroclass.4c1ce7640004cb2174c1010961271e4a_3" [label="3: Return Stmt \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4); [line 58]\n n$25=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4):unsigned long) [line 58]\n *&__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4:class __objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4=n$25 [line 58]\n n$26=*&#GB$DispatchA_dispatch_a_block_variable_from_macro_static_storage__:struct objc_object* [line 58]\n *n$25.DispatchA_dispatch_a_block_variable_from_macro_static_storage__:struct objc_object*=n$26 [line 58]\n *&initialization_block__:_fn_(*)=(_fun___objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4) [line 58]\n n$21=*&initialization_block__:_fn_(*) [line 62]\n n$22=n$21() [line 62]\n n$20=*&#GB$DispatchA_dispatch_a_block_variable_from_macro_static_storage__:struct objc_object* [line 63]\n *&return:struct objc_object*=n$20 [line 56]\n " shape="box"] +"DispatchA_dispatch_a_block_variable_from_macroclass.4c1ce7640004cb2174c1010961271e4a_3" [label="3: Return Stmt \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4); [line 58]\n n$25=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4):unsigned long) [line 58]\n *&__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4:class __objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4=n$25 [line 58]\n n$26=*&#GB$DispatchA_dispatch_a_block_variable_from_macro_static_storage__:struct objc_object* [line 58]\n *n$25.DispatchA_dispatch_a_block_variable_from_macro_static_storage__:struct objc_object*=n$26 [line 58]\n *&initialization_block__:_fn_(*)=(_fun___objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4) [line 58]\n n$21=*&initialization_block__:_fn_(*) [line 62]\n n$22=n$21() [line 62]\n n$20=*&#GB$DispatchA_dispatch_a_block_variable_from_macro_static_storage__:struct objc_object* [line 63]\n *&return:struct objc_object*=n$20 [line 56]\n " shape="box"] "DispatchA_dispatch_a_block_variable_from_macroclass.4c1ce7640004cb2174c1010961271e4a_3" -> "DispatchA_dispatch_a_block_variable_from_macroclass.4c1ce7640004cb2174c1010961271e4a_2" ; @@ -118,7 +118,7 @@ digraph iCFG { "DispatchA_dispatch_a_block_variable_from_macroclass.4c1ce7640004cb2174c1010961271e4a_1" -> "DispatchA_dispatch_a_block_variable_from_macroclass.4c1ce7640004cb2174c1010961271e4a_3" ; -"DispatchA_transclass.873660bac717ee103f8564f0a0307a74_5" [label="5: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchA_trans______2); [line 38]\n n$11=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchA_trans______2):unsigned long) [line 38]\n *&__objc_anonymous_block_DispatchA_trans______2:class __objc_anonymous_block_DispatchA_trans______2=n$11 [line 38]\n n$12=*&#GB$DispatchA_trans_sharedInstance:struct objc_object* [line 38]\n *n$11.DispatchA_trans_sharedInstance:struct objc_object*=n$12 [line 38]\n *&dummy_block:_fn_(*)=(_fun___objc_anonymous_block_DispatchA_trans______2) [line 38]\n " shape="box"] +"DispatchA_transclass.873660bac717ee103f8564f0a0307a74_5" [label="5: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchA_trans______2); [line 38]\n n$11=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchA_trans______2):unsigned long) [line 38]\n *&__objc_anonymous_block_DispatchA_trans______2:class __objc_anonymous_block_DispatchA_trans______2=n$11 [line 38]\n n$12=*&#GB$DispatchA_trans_sharedInstance:struct objc_object* [line 38]\n *n$11.DispatchA_trans_sharedInstance:struct objc_object*=n$12 [line 38]\n *&dummy_block:_fn_(*)=(_fun___objc_anonymous_block_DispatchA_trans______2) [line 38]\n " shape="box"] "DispatchA_transclass.873660bac717ee103f8564f0a0307a74_5" -> "DispatchA_transclass.873660bac717ee103f8564f0a0307a74_4" ; @@ -126,7 +126,7 @@ digraph iCFG { "DispatchA_transclass.873660bac717ee103f8564f0a0307a74_4" -> "DispatchA_transclass.873660bac717ee103f8564f0a0307a74_3" ; -"DispatchA_transclass.873660bac717ee103f8564f0a0307a74_3" [label="3: Return Stmt \n n$7=*&#GB$DispatchA_trans_sharedInstance:struct objc_object* [line 42]\n *&return:struct objc_object*=n$7 [line 42]\n " shape="box"] +"DispatchA_transclass.873660bac717ee103f8564f0a0307a74_3" [label="3: Return Stmt \n n$7=*&#GB$DispatchA_trans_sharedInstance:struct objc_object* [line 42]\n *&return:struct objc_object*=n$7 [line 42]\n " shape="box"] "DispatchA_transclass.873660bac717ee103f8564f0a0307a74_3" -> "DispatchA_transclass.873660bac717ee103f8564f0a0307a74_2" ; @@ -137,7 +137,7 @@ digraph iCFG { "DispatchA_transclass.873660bac717ee103f8564f0a0307a74_1" -> "DispatchA_transclass.873660bac717ee103f8564f0a0307a74_5" ; -"__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4.82bfd971252ed3dd1cbfd850406db887_3" [label="3: BinaryOperatorStmt: Assign \n n$23=_fun___objc_alloc_no_fail(sizeof(class DispatchA):unsigned long) [line 59]\n n$24=_fun_DispatchA_init(n$23:class DispatchA*) virtual [line 59]\n *&#GB$DispatchA_dispatch_a_block_variable_from_macro_static_storage__:struct objc_object*=n$24 [line 59]\n " shape="box"] +"__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4.82bfd971252ed3dd1cbfd850406db887_3" [label="3: BinaryOperatorStmt: Assign \n n$23=_fun___objc_alloc_no_fail(sizeof(class DispatchA):unsigned long) [line 59]\n n$24=_fun_DispatchA_init(n$23:class DispatchA*) virtual [line 59]\n *&#GB$DispatchA_dispatch_a_block_variable_from_macro_static_storage__:struct objc_object*=n$24 [line 59]\n " shape="box"] "__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4.82bfd971252ed3dd1cbfd850406db887_3" -> "__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4.82bfd971252ed3dd1cbfd850406db887_2" ; @@ -148,11 +148,11 @@ digraph iCFG { "__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4.82bfd971252ed3dd1cbfd850406db887_1" -> "__objc_anonymous_block_DispatchA_dispatch_a_block_variable_from_macro______4.82bfd971252ed3dd1cbfd850406db887_3" ; -"DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_4" [label="4: Call (_fun___objc_anonymous_block_DispatchA_sharedInstance______1) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchA_sharedInstance______1); [line 30]\n n$4=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchA_sharedInstance______1):unsigned long) [line 30]\n *&__objc_anonymous_block_DispatchA_sharedInstance______1:class __objc_anonymous_block_DispatchA_sharedInstance______1=n$4 [line 30]\n n$5=*&#GB$DispatchA_sharedInstance_sharedInstance:struct objc_object* [line 30]\n *n$4.DispatchA_sharedInstance_sharedInstance:struct objc_object*=n$5 [line 30]\n n$6=(_fun___objc_anonymous_block_DispatchA_sharedInstance______1)() [line 30]\n " shape="box"] +"DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_4" [label="4: Call (_fun___objc_anonymous_block_DispatchA_sharedInstance______1) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchA_sharedInstance______1); [line 30]\n n$4=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchA_sharedInstance______1):unsigned long) [line 30]\n *&__objc_anonymous_block_DispatchA_sharedInstance______1:class __objc_anonymous_block_DispatchA_sharedInstance______1=n$4 [line 30]\n n$5=*&#GB$DispatchA_sharedInstance_sharedInstance:struct objc_object* [line 30]\n *n$4.DispatchA_sharedInstance_sharedInstance:struct objc_object*=n$5 [line 30]\n n$6=(_fun___objc_anonymous_block_DispatchA_sharedInstance______1)() [line 30]\n " shape="box"] "DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_4" -> "DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_3" ; -"DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchA_sharedInstance_sharedInstance:struct objc_object* [line 33]\n *&return:struct objc_object*=n$1 [line 33]\n " shape="box"] +"DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchA_sharedInstance_sharedInstance:struct objc_object* [line 33]\n *&return:struct objc_object*=n$1 [line 33]\n " shape="box"] "DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_3" -> "DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_2" ; @@ -163,7 +163,7 @@ digraph iCFG { "DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_1" -> "DispatchA_sharedInstanceclass.1cbcd092f7dafd9879cdd8ce8fdac1b0_4" ; -"DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_5" [label="5: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3); [line 47]\n n$18=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchA_dispatch_a_block_variable______3):unsigned long) [line 47]\n *&__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3:class __objc_anonymous_block_DispatchA_dispatch_a_block_variable______3=n$18 [line 47]\n n$19=*&#GB$DispatchA_dispatch_a_block_variable_static_storage__:struct objc_object* [line 47]\n *n$18.DispatchA_dispatch_a_block_variable_static_storage__:struct objc_object*=n$19 [line 47]\n *&initialization_block__:_fn_(*)=(_fun___objc_anonymous_block_DispatchA_dispatch_a_block_variable______3) [line 47]\n " shape="box"] +"DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_5" [label="5: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3); [line 47]\n n$18=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchA_dispatch_a_block_variable______3):unsigned long) [line 47]\n *&__objc_anonymous_block_DispatchA_dispatch_a_block_variable______3:class __objc_anonymous_block_DispatchA_dispatch_a_block_variable______3=n$18 [line 47]\n n$19=*&#GB$DispatchA_dispatch_a_block_variable_static_storage__:struct objc_object* [line 47]\n *n$18.DispatchA_dispatch_a_block_variable_static_storage__:struct objc_object*=n$19 [line 47]\n *&initialization_block__:_fn_(*)=(_fun___objc_anonymous_block_DispatchA_dispatch_a_block_variable______3) [line 47]\n " shape="box"] "DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_5" -> "DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_4" ; @@ -171,7 +171,7 @@ digraph iCFG { "DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_4" -> "DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_3" ; -"DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_3" [label="3: Return Stmt \n n$13=*&#GB$DispatchA_dispatch_a_block_variable_static_storage__:struct objc_object* [line 52]\n *&return:struct objc_object*=n$13 [line 52]\n " shape="box"] +"DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_3" [label="3: Return Stmt \n n$13=*&#GB$DispatchA_dispatch_a_block_variable_static_storage__:struct objc_object* [line 52]\n *&return:struct objc_object*=n$13 [line 52]\n " shape="box"] "DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_3" -> "DispatchA_dispatch_a_block_variableclass.e931bb4f1c295d89acf6b725d9103d59_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot index 467df99d5..0280d0021 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph iCFG { -"__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_4" [label="4: BinaryOperatorStmt: Assign \n n$44=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 78]\n n$45=_fun_DispatchEx_init(n$44:class DispatchEx*) virtual [line 78]\n *&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx*=n$45 [line 78]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_4" [label="4: BinaryOperatorStmt: Assign \n n$44=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 78]\n n$45=_fun_DispatchEx_init(n$44:class DispatchEx*) virtual [line 78]\n *&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx*=n$45 [line 78]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_4" -> "__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_3" ; -"__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_3" [label="3: BinaryOperatorStmt: Assign \n n$43=*&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx* [line 79]\n *n$43.x:int=10 [line 79]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_3" [label="3: BinaryOperatorStmt: Assign \n n$43=*&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx* [line 79]\n *n$43.x:int=10 [line 79]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_3" -> "__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_2" ; @@ -15,11 +15,11 @@ digraph iCFG { "__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_1" -> "__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6.f3e27d4badebf4adf9313b39c9688c30_4" ; -"__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_4" [label="4: BinaryOperatorStmt: Assign \n n$20=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 51]\n n$21=_fun_DispatchEx_init(n$20:class DispatchEx*) virtual [line 51]\n *&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx*=n$21 [line 51]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_4" [label="4: BinaryOperatorStmt: Assign \n n$20=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 51]\n n$21=_fun_DispatchEx_init(n$20:class DispatchEx*) virtual [line 51]\n *&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx*=n$21 [line 51]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_4" -> "__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_3" ; -"__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_3" [label="3: BinaryOperatorStmt: Assign \n n$19=*&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx* [line 52]\n *n$19.x:int=10 [line 52]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_3" [label="3: BinaryOperatorStmt: Assign \n n$19=*&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx* [line 52]\n *n$19.x:int=10 [line 52]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_3" -> "__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_2" ; @@ -30,15 +30,15 @@ digraph iCFG { "__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_1" -> "__objc_anonymous_block_DispatchEx_dispatch_after_example______3.2346df1c3bc37dee82860aa53ebe3ece_4" ; -"DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx*=0 [line 25]\n " shape="box"] +"DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx*=0 [line 25]\n " shape="box"] "DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_5" -> "DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_4" ; -"DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_once_example______1) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_once_example______1); [line 29]\n n$6=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_once_example______1):unsigned long) [line 29]\n *&__objc_anonymous_block_DispatchEx_dispatch_once_example______1:class __objc_anonymous_block_DispatchEx_dispatch_once_example______1=n$6 [line 29]\n n$7=*&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx* [line 29]\n *n$6.DispatchEx_dispatch_once_example_a:class DispatchEx*=n$7 [line 29]\n n$8=(_fun___objc_anonymous_block_DispatchEx_dispatch_once_example______1)() [line 29]\n " shape="box"] +"DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_once_example______1) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_once_example______1); [line 29]\n n$6=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_once_example______1):unsigned long) [line 29]\n *&__objc_anonymous_block_DispatchEx_dispatch_once_example______1:class __objc_anonymous_block_DispatchEx_dispatch_once_example______1=n$6 [line 29]\n n$7=*&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx* [line 29]\n *n$6.DispatchEx_dispatch_once_example_a:class DispatchEx*=n$7 [line 29]\n n$8=(_fun___objc_anonymous_block_DispatchEx_dispatch_once_example______1)() [line 29]\n " shape="box"] "DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_4" -> "DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_3" ; -"DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx* [line 33]\n n$2=*n$1.x:int [line 33]\n *&return:int=n$2 [line 33]\n " shape="box"] +"DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx* [line 33]\n n$2=*n$1.x:int [line 33]\n *&return:int=n$2 [line 33]\n " shape="box"] "DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_3" -> "DispatchEx_dispatch_once_exampleclass.88a04a143c416b36a948e54f9a79492f_2" ; @@ -60,15 +60,15 @@ digraph iCFG { "DispatchEx_initinstance.f373aa3094c26cef9aa20d4a9edafd64_1" -> "DispatchEx_initinstance.f373aa3094c26cef9aa20d4a9edafd64_3" ; -"DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx*=0 [line 67]\n " shape="box"] +"DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx*=0 [line 67]\n " shape="box"] "DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_5" -> "DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_4" ; -"DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5); [line 68]\n n$38=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5):unsigned long) [line 68]\n *&__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5:class __objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5=n$38 [line 68]\n n$39=*&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx* [line 68]\n *n$38.DispatchEx_dispatch_group_notify_example_a:class DispatchEx*=n$39 [line 68]\n n$40=(_fun___objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5)() [line 68]\n " shape="box"] +"DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5); [line 68]\n n$38=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5):unsigned long) [line 68]\n *&__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5:class __objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5=n$38 [line 68]\n n$39=*&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx* [line 68]\n *n$38.DispatchEx_dispatch_group_notify_example_a:class DispatchEx*=n$39 [line 68]\n n$40=(_fun___objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5)() [line 68]\n " shape="box"] "DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_4" -> "DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_3" ; -"DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_3" [label="3: Return Stmt \n n$33=*&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx* [line 72]\n n$34=*n$33.x:int [line 72]\n *&return:int=n$34 [line 72]\n " shape="box"] +"DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_3" [label="3: Return Stmt \n n$33=*&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx* [line 72]\n n$34=*n$33.x:int [line 72]\n *&return:int=n$34 [line 72]\n " shape="box"] "DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_3" -> "DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_2" ; @@ -79,11 +79,11 @@ digraph iCFG { "DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_1" -> "DispatchEx_dispatch_group_notify_exampleclass.5abe79ad37e26b374978dd23ea90b0f0_5" ; -"__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_4" [label="4: BinaryOperatorStmt: Assign \n n$36=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 69]\n n$37=_fun_DispatchEx_init(n$36:class DispatchEx*) virtual [line 69]\n *&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx*=n$37 [line 69]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_4" [label="4: BinaryOperatorStmt: Assign \n n$36=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 69]\n n$37=_fun_DispatchEx_init(n$36:class DispatchEx*) virtual [line 69]\n *&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx*=n$37 [line 69]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_4" -> "__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_3" ; -"__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_3" [label="3: BinaryOperatorStmt: Assign \n n$35=*&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx* [line 70]\n *n$35.x:int=10 [line 70]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_3" [label="3: BinaryOperatorStmt: Assign \n n$35=*&#GB$DispatchEx_dispatch_group_notify_example_a:class DispatchEx* [line 70]\n *n$35.x:int=10 [line 70]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_3" -> "__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_2" ; @@ -94,15 +94,15 @@ digraph iCFG { "__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_1" -> "__objc_anonymous_block_DispatchEx_dispatch_group_notify_example______5.7a26e229a9d9a9dcb5d0d430f7cacd00_4" ; -"DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx*=0 [line 47]\n " shape="box"] +"DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx*=0 [line 47]\n " shape="box"] "DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_5" -> "DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_4" ; -"DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_after_example______3) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_after_example______3); [line 50]\n n$22=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_after_example______3):unsigned long) [line 50]\n *&__objc_anonymous_block_DispatchEx_dispatch_after_example______3:class __objc_anonymous_block_DispatchEx_dispatch_after_example______3=n$22 [line 50]\n n$23=*&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx* [line 50]\n *n$22.DispatchEx_dispatch_after_example_a:class DispatchEx*=n$23 [line 50]\n n$24=(_fun___objc_anonymous_block_DispatchEx_dispatch_after_example______3)() [line 48]\n " shape="box"] +"DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_after_example______3) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_after_example______3); [line 50]\n n$22=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_after_example______3):unsigned long) [line 50]\n *&__objc_anonymous_block_DispatchEx_dispatch_after_example______3:class __objc_anonymous_block_DispatchEx_dispatch_after_example______3=n$22 [line 50]\n n$23=*&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx* [line 50]\n *n$22.DispatchEx_dispatch_after_example_a:class DispatchEx*=n$23 [line 50]\n n$24=(_fun___objc_anonymous_block_DispatchEx_dispatch_after_example______3)() [line 48]\n " shape="box"] "DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_4" -> "DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_3" ; -"DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_3" [label="3: Return Stmt \n n$17=*&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx* [line 54]\n n$18=*n$17.x:int [line 54]\n *&return:int=n$18 [line 54]\n " shape="box"] +"DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_3" [label="3: Return Stmt \n n$17=*&#GB$DispatchEx_dispatch_after_example_a:class DispatchEx* [line 54]\n n$18=*n$17.x:int [line 54]\n *&return:int=n$18 [line 54]\n " shape="box"] "DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_3" -> "DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_2" ; @@ -113,11 +113,11 @@ digraph iCFG { "DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_1" -> "DispatchEx_dispatch_after_exampleclass.35e428c2a33c639058e557baad5fb3b1_5" ; -"__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_4" [label="4: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 30]\n n$5=_fun_DispatchEx_init(n$4:class DispatchEx*) virtual [line 30]\n *&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx*=n$5 [line 30]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_4" [label="4: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 30]\n n$5=_fun_DispatchEx_init(n$4:class DispatchEx*) virtual [line 30]\n *&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx*=n$5 [line 30]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_4" -> "__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_3" ; -"__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx* [line 31]\n *n$3.x:int=10 [line 31]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&#GB$DispatchEx_dispatch_once_example_a:class DispatchEx* [line 31]\n *n$3.x:int=10 [line 31]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_3" -> "__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_2" ; @@ -128,11 +128,11 @@ digraph iCFG { "__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_1" -> "__objc_anonymous_block_DispatchEx_dispatch_once_example______1.158d97f9901ded6a43590bdae67c9275_4" ; -"__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_4" [label="4: BinaryOperatorStmt: Assign \n n$12=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 40]\n n$13=_fun_DispatchEx_init(n$12:class DispatchEx*) virtual [line 40]\n *&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx*=n$13 [line 40]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_4" [label="4: BinaryOperatorStmt: Assign \n n$12=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 40]\n n$13=_fun_DispatchEx_init(n$12:class DispatchEx*) virtual [line 40]\n *&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx*=n$13 [line 40]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_4" -> "__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_3" ; -"__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_3" [label="3: BinaryOperatorStmt: Assign \n n$11=*&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx* [line 41]\n *n$11.x:int=10 [line 41]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_3" [label="3: BinaryOperatorStmt: Assign \n n$11=*&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx* [line 41]\n *n$11.x:int=10 [line 41]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_3" -> "__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_2" ; @@ -143,15 +143,15 @@ digraph iCFG { "__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_1" -> "__objc_anonymous_block_DispatchEx_dispatch_async_example______2.188fa4ba6cec1621d948ea1747df2c34_4" ; -"DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx*=0 [line 58]\n " shape="box"] +"DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx*=0 [line 58]\n " shape="box"] "DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_5" -> "DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_4" ; -"DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_group_example______4) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_group_example______4); [line 59]\n n$30=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_group_example______4):unsigned long) [line 59]\n *&__objc_anonymous_block_DispatchEx_dispatch_group_example______4:class __objc_anonymous_block_DispatchEx_dispatch_group_example______4=n$30 [line 59]\n n$31=*&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx* [line 59]\n *n$30.DispatchEx_dispatch_group_example_a:class DispatchEx*=n$31 [line 59]\n n$32=(_fun___objc_anonymous_block_DispatchEx_dispatch_group_example______4)() [line 59]\n " shape="box"] +"DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_group_example______4) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_group_example______4); [line 59]\n n$30=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_group_example______4):unsigned long) [line 59]\n *&__objc_anonymous_block_DispatchEx_dispatch_group_example______4:class __objc_anonymous_block_DispatchEx_dispatch_group_example______4=n$30 [line 59]\n n$31=*&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx* [line 59]\n *n$30.DispatchEx_dispatch_group_example_a:class DispatchEx*=n$31 [line 59]\n n$32=(_fun___objc_anonymous_block_DispatchEx_dispatch_group_example______4)() [line 59]\n " shape="box"] "DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_4" -> "DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_3" ; -"DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_3" [label="3: Return Stmt \n n$25=*&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx* [line 63]\n n$26=*n$25.x:int [line 63]\n *&return:int=n$26 [line 63]\n " shape="box"] +"DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_3" [label="3: Return Stmt \n n$25=*&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx* [line 63]\n n$26=*n$25.x:int [line 63]\n *&return:int=n$26 [line 63]\n " shape="box"] "DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_3" -> "DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_2" ; @@ -162,15 +162,15 @@ digraph iCFG { "DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_1" -> "DispatchEx_dispatch_group_exampleclass.1dab66f0b4786a24195536869b8cbf4c_5" ; -"DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx*=0 [line 37]\n " shape="box"] +"DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx*=0 [line 37]\n " shape="box"] "DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_5" -> "DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_4" ; -"DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_async_example______2) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_async_example______2); [line 39]\n n$14=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_async_example______2):unsigned long) [line 39]\n *&__objc_anonymous_block_DispatchEx_dispatch_async_example______2:class __objc_anonymous_block_DispatchEx_dispatch_async_example______2=n$14 [line 39]\n n$15=*&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx* [line 39]\n *n$14.DispatchEx_dispatch_async_example_a:class DispatchEx*=n$15 [line 39]\n n$16=(_fun___objc_anonymous_block_DispatchEx_dispatch_async_example______2)() [line 38]\n " shape="box"] +"DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_async_example______2) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_async_example______2); [line 39]\n n$14=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_async_example______2):unsigned long) [line 39]\n *&__objc_anonymous_block_DispatchEx_dispatch_async_example______2:class __objc_anonymous_block_DispatchEx_dispatch_async_example______2=n$14 [line 39]\n n$15=*&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx* [line 39]\n *n$14.DispatchEx_dispatch_async_example_a:class DispatchEx*=n$15 [line 39]\n n$16=(_fun___objc_anonymous_block_DispatchEx_dispatch_async_example______2)() [line 38]\n " shape="box"] "DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_4" -> "DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_3" ; -"DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_3" [label="3: Return Stmt \n n$9=*&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx* [line 43]\n n$10=*n$9.x:int [line 43]\n *&return:int=n$10 [line 43]\n " shape="box"] +"DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_3" [label="3: Return Stmt \n n$9=*&#GB$DispatchEx_dispatch_async_example_a:class DispatchEx* [line 43]\n n$10=*n$9.x:int [line 43]\n *&return:int=n$10 [line 43]\n " shape="box"] "DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_3" -> "DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_2" ; @@ -181,15 +181,15 @@ digraph iCFG { "DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_1" -> "DispatchEx_dispatch_async_exampleclass.d0682454f92c478110c2967d9b66ce4f_5" ; -"DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx*=0 [line 76]\n " shape="box"] +"DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_5" [label="5: DeclStmt \n *&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx*=0 [line 76]\n " shape="box"] "DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_5" -> "DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_4" ; -"DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_barrier_example______6) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6); [line 77]\n n$46=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_barrier_example______6):unsigned long) [line 77]\n *&__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6:class __objc_anonymous_block_DispatchEx_dispatch_barrier_example______6=n$46 [line 77]\n n$47=*&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx* [line 77]\n *n$46.DispatchEx_dispatch_barrier_example_a:class DispatchEx*=n$47 [line 77]\n n$48=(_fun___objc_anonymous_block_DispatchEx_dispatch_barrier_example______6)() [line 77]\n " shape="box"] +"DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_4" [label="4: Call (_fun___objc_anonymous_block_DispatchEx_dispatch_barrier_example______6) \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6); [line 77]\n n$46=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchEx_dispatch_barrier_example______6):unsigned long) [line 77]\n *&__objc_anonymous_block_DispatchEx_dispatch_barrier_example______6:class __objc_anonymous_block_DispatchEx_dispatch_barrier_example______6=n$46 [line 77]\n n$47=*&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx* [line 77]\n *n$46.DispatchEx_dispatch_barrier_example_a:class DispatchEx*=n$47 [line 77]\n n$48=(_fun___objc_anonymous_block_DispatchEx_dispatch_barrier_example______6)() [line 77]\n " shape="box"] "DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_4" -> "DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_3" ; -"DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_3" [label="3: Return Stmt \n n$41=*&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx* [line 81]\n n$42=*n$41.x:int [line 81]\n *&return:int=n$42 [line 81]\n " shape="box"] +"DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_3" [label="3: Return Stmt \n n$41=*&#GB$DispatchEx_dispatch_barrier_example_a:class DispatchEx* [line 81]\n n$42=*n$41.x:int [line 81]\n *&return:int=n$42 [line 81]\n " shape="box"] "DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_3" -> "DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_2" ; @@ -200,11 +200,11 @@ digraph iCFG { "DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_1" -> "DispatchEx_dispatch_barrier_exampleclass.1a42e144a2ace9fe8e8014b0d6fa2d0d_5" ; -"__objc_anonymous_block_DispatchEx_dispatch_group_example______4.4458b8e68269255e8dd6690cdc49ab76_4" [label="4: BinaryOperatorStmt: Assign \n n$28=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 60]\n n$29=_fun_DispatchEx_init(n$28:class DispatchEx*) virtual [line 60]\n *&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx*=n$29 [line 60]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_group_example______4.4458b8e68269255e8dd6690cdc49ab76_4" [label="4: BinaryOperatorStmt: Assign \n n$28=_fun___objc_alloc_no_fail(sizeof(class DispatchEx):unsigned long) [line 60]\n n$29=_fun_DispatchEx_init(n$28:class DispatchEx*) virtual [line 60]\n *&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx*=n$29 [line 60]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_group_example______4.4458b8e68269255e8dd6690cdc49ab76_4" -> "__objc_anonymous_block_DispatchEx_dispatch_group_example______4.4458b8e68269255e8dd6690cdc49ab76_3" ; -"__objc_anonymous_block_DispatchEx_dispatch_group_example______4.4458b8e68269255e8dd6690cdc49ab76_3" [label="3: BinaryOperatorStmt: Assign \n n$27=*&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx* [line 61]\n *n$27.x:int=10 [line 61]\n " shape="box"] +"__objc_anonymous_block_DispatchEx_dispatch_group_example______4.4458b8e68269255e8dd6690cdc49ab76_3" [label="3: BinaryOperatorStmt: Assign \n n$27=*&#GB$DispatchEx_dispatch_group_example_a:class DispatchEx* [line 61]\n *n$27.x:int=10 [line 61]\n " shape="box"] "__objc_anonymous_block_DispatchEx_dispatch_group_example______4.4458b8e68269255e8dd6690cdc49ab76_3" -> "__objc_anonymous_block_DispatchEx_dispatch_group_example______4.4458b8e68269255e8dd6690cdc49ab76_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot index 5b6aeb288..a7bd71302 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -"DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_3" [label="3: Return Stmt \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchInMacroTest______1); [line 23]\n n$3=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchInMacroTest______1):unsigned long) [line 23]\n *&__objc_anonymous_block_DispatchInMacroTest______1:class __objc_anonymous_block_DispatchInMacroTest______1=n$3 [line 23]\n n$4=*&#GB$DispatchInMacroTest_static_storage:class NSObject* [line 23]\n *n$3.DispatchInMacroTest_static_storage:class NSObject*=n$4 [line 23]\n n$5=(_fun___objc_anonymous_block_DispatchInMacroTest______1)() [line 23]\n n$0=*&#GB$DispatchInMacroTest_static_storage:class NSObject* [line 23]\n *&return:struct objc_object*=n$0 [line 23]\n " shape="box"] +"DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_3" [label="3: Return Stmt \n DECLARE_LOCALS(&__objc_anonymous_block_DispatchInMacroTest______1); [line 23]\n n$3=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_DispatchInMacroTest______1):unsigned long) [line 23]\n *&__objc_anonymous_block_DispatchInMacroTest______1:class __objc_anonymous_block_DispatchInMacroTest______1=n$3 [line 23]\n n$4=*&#GB$DispatchInMacroTest_static_storage:class NSObject* [line 23]\n *n$3.DispatchInMacroTest_static_storage:class NSObject*=n$4 [line 23]\n n$5=(_fun___objc_anonymous_block_DispatchInMacroTest______1)() [line 23]\n n$0=*&#GB$DispatchInMacroTest_static_storage:class NSObject* [line 23]\n *&return:struct objc_object*=n$0 [line 23]\n " shape="box"] "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_3" -> "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_2" ; @@ -11,7 +11,7 @@ digraph iCFG { "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_1" -> "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_3" ; -"__objc_anonymous_block_DispatchInMacroTest______1.db6c315d2cd0e3514d444428887908e2_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(class NSObject):unsigned long) [line 23]\n n$2=_fun_NSObject_init(n$1:class NSObject*) virtual [line 23]\n *&#GB$DispatchInMacroTest_static_storage:class NSObject*=n$2 [line 23]\n " shape="box"] +"__objc_anonymous_block_DispatchInMacroTest______1.db6c315d2cd0e3514d444428887908e2_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(class NSObject):unsigned long) [line 23]\n n$2=_fun_NSObject_init(n$1:class NSObject*) virtual [line 23]\n *&#GB$DispatchInMacroTest_static_storage:class NSObject*=n$2 [line 23]\n " shape="box"] "__objc_anonymous_block_DispatchInMacroTest______1.db6c315d2cd0e3514d444428887908e2_3" -> "__objc_anonymous_block_DispatchInMacroTest______1.db6c315d2cd0e3514d444428887908e2_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample2.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample2.m.dot index 4c5c5977a..f0dbbf138 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample2.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample2.m.dot @@ -126,7 +126,7 @@ digraph iCFG { "retain_release2_test2.d890a0d9955e2ed8f58dd806f8d8d78c_4" -> "retain_release2_test2.d890a0d9955e2ed8f58dd806f8d8d78c_3" ; -"retain_release2_test2.d890a0d9955e2ed8f58dd806f8d8d78c_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&b:class RR2* [line 40]\n *&#GB$g:class RR2*=n$0 [line 40]\n " shape="box"] +"retain_release2_test2.d890a0d9955e2ed8f58dd806f8d8d78c_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&b:class RR2* [line 40]\n *&#GB$g:class RR2*=n$0 [line 40]\n " shape="box"] "retain_release2_test2.d890a0d9955e2ed8f58dd806f8d8d78c_3" -> "retain_release2_test2.d890a0d9955e2ed8f58dd806f8d8d78c_2" ; diff --git a/infer/tests/codetoanalyze/objcpp/frontend/Makefile b/infer/tests/codetoanalyze/objcpp/frontend/Makefile index 6df1d97fc..973ec3cb7 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/Makefile +++ b/infer/tests/codetoanalyze/objcpp/frontend/Makefile @@ -24,4 +24,4 @@ compile: clang $(CLANG_OPTIONS) $(SOURCES) capture: - $(INFER_BIN) -a capture --cxx --frontend-tests --continue --reactive -- clang $(CLANG_OPTIONS) $(SOURCES) + $(INFER_BIN) -a capture --cxx --frontend-tests --continue --reactive --project-root $(TESTS_DIR) -- clang $(CLANG_OPTIONS) $(SOURCES) diff --git a/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot b/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot index 69207b774..e96ead01c 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot +++ b/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot @@ -19,7 +19,7 @@ digraph iCFG { "Fields_{_ZN6FieldsC1ERKS_}.dbc5d6c7a14141a516a3f66838987745_1" -> "Fields_{_ZN6FieldsC1ERKS_}.dbc5d6c7a14141a516a3f66838987745_5" ; -"__infer_globals_initializer___someFields.1930c0ca3aad91e2bee375979857d426_3" [label="3: DeclStmt \n *&#GB$__someFields.field1:float=1 [line 16]\n *&#GB$__someFields.field2:float=2 [line 16]\n *&#GB$__someFields.field3:float=3 [line 16]\n " shape="box"] +"__infer_globals_initializer___someFields.1930c0ca3aad91e2bee375979857d426_3" [label="3: DeclStmt \n *&#GB$__someFields.field1:float=1 [line 16]\n *&#GB$__someFields.field2:float=2 [line 16]\n *&#GB$__someFields.field3:float=3 [line 16]\n " shape="box"] "__infer_globals_initializer___someFields.1930c0ca3aad91e2bee375979857d426_3" -> "__infer_globals_initializer___someFields.1930c0ca3aad91e2bee375979857d426_2" ; @@ -30,7 +30,7 @@ digraph iCFG { "__infer_globals_initializer___someFields.1930c0ca3aad91e2bee375979857d426_1" -> "__infer_globals_initializer___someFields.1930c0ca3aad91e2bee375979857d426_3" ; -"fields{d41d8cd98f00b204e9800998ecf8427e_Z6fieldsv}.2204acccca0fb756182b0ea5cda979e8_3" [label="3: Return Stmt \n n$0=*&__return_param:class Fields* [line 20]\n *&#GB$__someFields.field1:float=1 [line 16]\n *&#GB$__someFields.field2:float=2 [line 16]\n *&#GB$__someFields.field3:float=3 [line 16]\n _fun_Fields_(n$0:class Fields*,&#GB$__someFields:class Fields&) [line 20]\n " shape="box"] +"fields{d41d8cd98f00b204e9800998ecf8427e_Z6fieldsv}.2204acccca0fb756182b0ea5cda979e8_3" [label="3: Return Stmt \n n$0=*&__return_param:class Fields* [line 20]\n *&#GB$__someFields.field1:float=1 [line 16]\n *&#GB$__someFields.field2:float=2 [line 16]\n *&#GB$__someFields.field3:float=3 [line 16]\n _fun_Fields_(n$0:class Fields*,&#GB$__someFields:class Fields&) [line 20]\n " shape="box"] "fields{d41d8cd98f00b204e9800998ecf8427e_Z6fieldsv}.2204acccca0fb756182b0ea5cda979e8_3" -> "fields{d41d8cd98f00b204e9800998ecf8427e_Z6fieldsv}.2204acccca0fb756182b0ea5cda979e8_2" ; diff --git a/infer/tests/codetoanalyze/objcpp/linters/.inferconfig b/infer/tests/codetoanalyze/objcpp/linters/.inferconfig deleted file mode 100644 index 93f5f13b4..000000000 --- a/infer/tests/codetoanalyze/objcpp/linters/.inferconfig +++ /dev/null @@ -1,11 +0,0 @@ -{ - "enable_checks": [ - "GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL" - ], - "skip_translation": [ - { - "language": "Java", - "source_contains": "_SHOULD_BE_SKIPPED_" - } - ] -} diff --git a/infer/tests/codetoanalyze/objcpp/linters/Makefile b/infer/tests/codetoanalyze/objcpp/linters/Makefile index 485e2f834..be14b64b7 100644 --- a/infer/tests/codetoanalyze/objcpp/linters/Makefile +++ b/infer/tests/codetoanalyze/objcpp/linters/Makefile @@ -9,7 +9,7 @@ TESTS_DIR = ../../.. ANALYZER = linters CLANG_OPTIONS = -x objective-c++ -std=c++11 -fobjc-arc -c -INFER_OPTIONS = --no-filtering --debug-exceptions +INFER_OPTIONS = --no-filtering --debug-exceptions --project-root $(TESTS_DIR) --enable-checks GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL INFERPRINT_OPTIONS = --issues-tests SOURCES = \ diff --git a/infer/tests/codetoanalyze/objcpp/linters/issues.exp b/infer/tests/codetoanalyze/objcpp/linters/issues.exp index 0001304c2..f253268a1 100644 --- a/infer/tests/codetoanalyze/objcpp/linters/issues.exp +++ b/infer/tests/codetoanalyze/objcpp/linters/issues.exp @@ -1,27 +1,27 @@ -componentkit/FactoryFunctionTest.mm, ExampleFunctionAfterImpl, 35, COMPONENT_FACTORY_FUNCTION, [] -componentkit/FactoryFunctionTest.mm, ExampleFunctionBeforeImpl, 21, COMPONENT_FACTORY_FUNCTION, [] -componentkit/FactoryFunctionTest.mm, ExampleFunctionInsideImpl, 29, COMPONENT_FACTORY_FUNCTION, [] -componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 19, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 24, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 29, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -componentkit/InitializerWithSideEffectTest.mm, __objc_anonymous_block_______1, 37, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -componentkit/InitializerWithSideEffectTest.mm, __objc_anonymous_block_______2, 41, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 18, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] -componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 27, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] -componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 48, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] -componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 89, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 91, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 110, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 116, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 52, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 57, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 59, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 63, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 68, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/MutableLocalVariablesTest.mm, SomeClass_init, 40, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -componentkit/UnconventionalSuperclassTest.h, Linters_dummy_method, 17, COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS, [] -cxx_reference_in_block/block.mm, A_foo3:param2:, 37, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, [] -cxx_reference_in_block/block.mm, A_foo:, 20, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, [] -global-var/B.mm, Linters_dummy_method, 30, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] -global-var/B.mm, Linters_dummy_method, 32, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] -global-var/B.mm, Linters_dummy_method, 34, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] +codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionAfterImpl, 35, COMPONENT_FACTORY_FUNCTION, [] +codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionBeforeImpl, 21, COMPONENT_FACTORY_FUNCTION, [] +codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionInsideImpl, 29, COMPONENT_FACTORY_FUNCTION, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 19, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 24, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 29, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, __objc_anonymous_block_______1, 37, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, __objc_anonymous_block_______2, 41, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] +codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 18, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] +codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 27, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] +codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 48, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 89, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 91, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 110, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 116, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 52, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 57, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 59, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 63, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString:, 68, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, SomeClass_init, 40, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +codetoanalyze/objcpp/linters/componentkit/UnconventionalSuperclassTest.h, Linters_dummy_method, 17, COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS, [] +codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo3:param2:, 37, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, [] +codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo:, 20, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, [] +codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 30, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] +codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 32, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] +codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 34, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, []