| 
  
     ‘free_a_list_badly’: events 1-4 
|     8 |   while (n) { |  
 |          ^ |  
 |          | |  
 |          (1) following ‘true’ branch (when ‘n’ is non-NULL)... |  
|     9 |     free(n); /* { dg-message "freed here" } */ |  
 |     ~~~~~~~ |  
 |     | |  
 |     (2) ...to here |  
 |     (3) freed here |  
|    10 |     n = n->next; /* { dg-warning "use after 'free' of 'n'" } */ |  
 |     ~~~~~~~~~~~ |  
 |       | |  
 |       (4) use after ‘free’ of ‘n’; freed at (3) |  
 
 |