Bug path
‘test’
:
events 1-2
8
void test(void *p)
^~~~
|
(1) entry to ‘test’
9
{
10
calls_free(p);
~~~~~~~~~~~~~
|
(2) calling ‘calls_free’ from ‘test’
‘calls_free’
:
events 3-4
3
static void calls_free(int *q)
^~~~~~~~~~
|
(3) entry to ‘calls_free’
4
{
5
free(q);
~~~~~~~
|
(4) first ‘free’ here
‘test’
:
events 5-6
10
calls_free(p);
^~~~~~~~~~~~~
|
(5) returning to ‘test’ from ‘calls_free’
11
12
free(p); /* { dg-warning "double-'free' of 'p'" } */
~~~~~~~
|
(6) second ‘free’ here; first ‘free’ was at (4)