Function 
          
          
            inner
          
        
        
          
            File 
          
          
            ../../src/gcc/testsuite/g++.dg/analyzer/exception-leak-6.C
          
        
        
          
            Line 
          
          
            7
          
        
        
          
            Column 
          
          
            16
          
        
        
          
            |     7 |   |   do_something (x); // { dg-warning "leak" } | 
            |       |   |   ~~~~~~~~~~~~~^~~ | 
          
        
        
          
          
            
              
                 | 
                
                   
                    int outer(int)
                   
                  
                    
                      | 
                         int outer(int): events 1-3 
                        
                          
                            |    13 |   | int outer (int x) |  
                            |       |   |     ^~~~~ |  
                            |       |   |     | |  
                            |       |   |     (1) entry to ‘outer’
  |  
                            |    14 |   | { |  
                            |    15 |   |   void *ptr = __builtin_malloc (1024); // { dg-message "allocated here" } |  
                            |       |   |               ~~~~~~~~~~~~~~~~~~~~~~~ |  
                            |       |   |                                | |  
                            |       |   |                                (2) allocated here
  |  
                            |    16 |   |  |  
                            |    17 |   |   int rval = inner (x); |  
                            |       |   |              ~~~~~~~~~ |  
                            |       |   |                    | |  
                            |       |   |                    (3) calling ‘inner’ from ‘outer’
  |  
                          
                         
                       | 
                     
                   
                  
                    
                       | 
                      
                         
                          int inner(int)
                         
                        
                          
                            | 
                               int inner(int): events 4-6 
                              
                                
                                  |     5 |   | int inner (int x) |  
                                  |       |   |     ^~~~~ |  
                                  |       |   |     | |  
                                  |       |   |     (4) entry to ‘inner’
  |  
                                  |     6 |   | { |  
                                  |     7 |   |   do_something (x); // { dg-warning "leak" } |  
                                  |       |   |   ~~~~~~~~~~~~~~~~ |  
                                  |       |   |                | |  
                                  |       |   |                (5) if ‘void do_something(int)’ throws an exception... |  
                                  |       |   |                (6) ⚠️  ‘ptr’ leaks here; was allocated at (2)
  |  
                                
                               
                             | 
                           
                         
                       | 
                     
                   
                 |