|
‘test’: events 1-2
| 9 | void test (void *ptr) |
| ^ |
| | |
| (1) entry to ‘test’ |
| 10 | { |
| 11 | calls_free (ptr); /* { dg-message "calling 'calls_free' from 'test'" } */ |
| ~ |
| | |
| (2) calling ‘calls_free’ from ‘test’ |
|
change of file to ‘../../src/gcc/testsuite/gcc.dg/analyzer/double-free-lto-1-b.c’
|
‘calls_free’: events 3-4
| 5 | extern void calls_free (void *ptr) |
| ^ |
| | |
| (3) entry to ‘calls_free’ |
| 6 | { |
| 7 | free (ptr); |
| ~ |
| | |
| (4) first ‘free’ here |
|
change of file to ‘../../src/gcc/testsuite/gcc.dg/analyzer/double-free-lto-1-a.c’
|
‘test’: events 5-6
| 11 | calls_free (ptr); /* { dg-message "calling 'calls_free' from 'test'" } */ |
| ^ |
| | |
| (5) returning to ‘test’ from ‘calls_free’ |
| 12 | free (ptr); /* { dg-warning "double-'free' of 'ptr_.+'" } */ |
| ~ |
| | |
| (6) second ‘free’ here; first ‘free’ was at (4) |
|