Bug path

recursive_free
‘recursive_free’: events 1-3
3void recursive_free (void *ptr)
^~~~~~~~~~~~~~
|
(1) entry to ‘recursive_free’
4{
5 free (ptr); /* { dg-warning "double-'free' of 'ptr'" } */
~~~~~~~~~~
|
(2) first ‘free’ here
6 recursive_free (ptr);
~~~~~~~~~~~~~~~~~~~~
|
(3) passing freed pointer ‘ptr’ in call to ‘recursive_free’ from ‘recursive_free’
recursive_free
‘recursive_free’: events 4-5
3void recursive_free (void *ptr)
^~~~~~~~~~~~~~
|
(4) entry to ‘recursive_free’
4{
5 free (ptr); /* { dg-warning "double-'free' of 'ptr'" } */
~~~~~~~~~~
|
(5) second ‘free’ here; first ‘free’ was at (2)