| 
  
 main 
  | 
     ‘main’: events 1-2 
|    24 | int main(int argc, const char *argv) |  
 |     ^~~~ |  
 |     | |  
 |     (1) entry to ‘main’ |  
|    25 | { |  
|    26 |   custom_logger("started"); |  
 |   ~~~~~~~~~~~~~~~~~~~~~~~~ |  
 |   | |  
 |   (2) calling ‘custom_logger’ from ‘main’ |  
 
 |   
   | 
  
 custom_logger 
  | 
     ‘custom_logger’: events 3-5 
|    13 | void custom_logger(const char *msg) |  
 |      ^~~~~~~~~~~~~ |  
 |      | |  
 |      (3) entry to ‘custom_logger’ |  
|    14 | { |  
|    15 |   if (logging) |  
 |      ~ |  
 |      | |  
 |      (4) following ‘true’ branch... |  
|    16 |     fprintf(stderr, "LOG: %s", msg); /* { dg-warning "call to 'fprintf' from within signal handler" } */ |  
 |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |  
 |     | |  
 |     (5) ...to here |  
 
 |   
 |   
  | 
     ‘main’: events 6-7 
|    26 |   custom_logger("started"); |  
 |   ^~~~~~~~~~~~~~~~~~~~~~~~ |  
 |   | |  
 |   (6) returning to ‘main’ from ‘custom_logger’ |  
|    27 |  |  
|    28 |   signal(SIGINT, handler); /* { dg-message "registering 'handler' as signal handler" } */ |  
 |   ~~~~~~~~~~~~~~~~~~~~~~~ |  
 |   | |  
 |   (7) registering ‘handler’ as signal handler |  
 
 |   
 |