|
test_1
|
‘test_1’: events 1-2
| 83 | void test_1 (const char *str) |
| ^~~~~~ |
| | |
| (1) entry to ‘test_1’ |
| 84 | { |
| 85 | string_obj *obj = new_string_obj (str); |
| ~~~~~~~~~~~~~~~~~~~~ |
| | |
| (2) calling ‘new_string_obj’ from ‘test_1’ |
|
|
new_string_obj
|
‘new_string_obj’: events 3-4
| 53 | string_obj *new_string_obj (const char *str) |
| ^~~~~~~~~~~~~~ |
| | |
| (3) entry to ‘new_string_obj’ |
| [...] | |
| 59 | = (string_obj *)alloc_obj (&str_type, sizeof (string_obj) + len + 1); |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| | |
| (4) calling ‘alloc_obj’ from ‘new_string_obj’ |
|
|
alloc_obj
|
‘alloc_obj’: events 5-9
| 43 | base_obj *alloc_obj (type_obj *ob_type, size_t sz) |
| ^~~~~~~~~ |
| | |
| (5) entry to ‘alloc_obj’ |
| 44 | { |
| 45 | base_obj *obj = (base_obj *)malloc (sz); |
| ~~~~~~~~~~~ |
| | |
| (6) allocated here |
| 46 | if (!obj) |
| ~ |
| | |
| (7) assuming ‘obj’ is non-NULL |
| (8) following ‘false’ branch (when ‘obj’ is non-NULL)... |
| 47 | return NULL; |
| 48 | obj->ob_type = ob_type; |
| ~~~~~~~~~~~~~~~~~~~~~~ |
| | |
| (9) ...to here |
|
|
|
‘new_string_obj’: event 10
| 59 | = (string_obj *)alloc_obj (&str_type, sizeof (string_obj) + len + 1); |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| | |
| (10) returning to ‘new_string_obj’ from ‘alloc_obj’ |
|
|
|
‘test_1’: events 11-14
| 85 | string_obj *obj = new_string_obj (str); |
| ^~~~~~~~~~~~~~~~~~~~ |
| | |
| (11) returning to ‘test_1’ from ‘new_string_obj’ |
| 86 | //__analyzer_dump(); |
| 87 | if (obj) |
| ~ |
| | |
| (12) following ‘true’ branch (when ‘obj’ is non-NULL)... |
| 88 | unref (obj); |
| ~~~~~~~~~~~ |
| | |
| (13) ...to here |
| (14) calling ‘unref’ from ‘test_1’ |
|
|
unref
|
‘unref’: events 15-17
| 73 | void unref (string_obj *obj) |
| ^~~~~ |
| | |
| (15) entry to ‘unref’ |
| [...] | |
| 76 | if (--obj->str_base.ob_refcnt == 0) |
| ~ |
| | |
| (16) following ‘false’ branch... |
| [...] | |
| 81 | } |
| ~ |
| | |
| (17) ...to here |
|
|
|
‘test_1’: events 18-19
| 88 | unref (obj); |
| ^~~~~~~~~~~ |
| | |
| (18) returning to ‘test_1’ from ‘unref’ |
| 89 | } /* { dg-bogus "leak" "" { xfail *-*-* } } */ |
| ~ |
| | |
| (19) ‘obj’ leaks here; was allocated at (6) |
|
|