| 
  
 test_2 
  | 
     ‘test_2’: events 1-5 
|    38 |   void *ptr = malloc (16); |  
 |               ^~~~~~~~~~~ |  
 |               | |  
 |               (1) allocated here |  
| [...] |  |  
|    42 |   if (flag) |  
 |      ~          |  
 |      | |  
 |      (2) following ‘true’ branch (when ‘flag != 0’)... |  
|    43 |     free (ptr); |  
 |     ~~~~~~~~~~  |  
 |     | |  
 |     (3) ...to here |  
 |     (4) first ‘free’ here |  
| [...] |  |  
|    55 |   free (ptr); /* { dg-warning "double-'free' of 'ptr'" } */ |  
 |   ~~~~~~~~~~    |  
 |   | |  
 |   (5) second ‘free’ here; first ‘free’ was at (4) |  
 
 |   
 |