// RUN: %clang_cc1 -analyze -std=c++11 -analyzer-checker=core -analyzer-config path-diagnostics-alternate=true -analyzer-output=plist-multi-file -o %t.plist -verify %s
// RUN: FileCheck --input-file=%t.plist %s
extern void work();
void testLoop() {
  int z[] = {1,2};
  for (int y : z) {
    work();
    work();
    if (y == 2)
      *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
    work();
    work();
    (void)y;
  }
  *(volatile int *)0 = 1; // no-warning
}
class MagicVector {
public:
  MagicVector();
  using iterator = int *;
  iterator begin() const;
  iterator end() const;
};
MagicVector get(bool fail = false) {
  if (fail)
    *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
  return MagicVector{};
}
void testLoopOpaqueCollection() {
  for (int y : get()) {
    work();
    work();
    if (y == 2)
      *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
    work();
    work();
    (void)y;
  }
  *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
}
class MagicVector2 {
public:
  MagicVector2();
  class iterator {
  public:
    int operator*() const;
    iterator &operator++();
    bool operator==(const iterator &);
    bool operator!=(const iterator &);
  };
  iterator begin() const;
  iterator end() const;
};
MagicVector2 get2() {
  return MagicVector2{};
}
void testLoopOpaqueIterator() {
  for (int y : get2()) {
    work();
    work();
    if (y == 2)
      *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
    work();
    work();
    (void)y;
  }
  *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
}
void testLoopErrorInRange() {
  for (int y : get(true)) { // error inside get()
    work();
    work();
    if (y == 2)
      *(volatile int *)0 = 1; // no-warning
    work();
    work();
    (void)y;
  }
  *(volatile int *)0 = 1; // no-warning
}
// CHECK:  diagnostics
// CHECK-NEXT:  
// CHECK-NEXT:   
// CHECK-NEXT:    path
// CHECK-NEXT:    
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line7
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line7
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line8
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line8
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line8
// CHECK-NEXT:       col14
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line8
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line8
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Entering loop body
// CHECK-NEXT:      message
// CHECK-NEXT:      Entering loop body
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line8
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line8
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line9
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line9
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line9
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line9
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line11
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line11
// CHECK-NEXT:            col6
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line11
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line11
// CHECK-NEXT:            col6
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line13
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line13
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line13
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line13
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line15
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line15
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line15
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line15
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line16
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line16
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line16
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line16
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line8
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line8
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line8
// CHECK-NEXT:       col3
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line8
// CHECK-NEXT:          col3
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line16
// CHECK-NEXT:          col3
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Looping back to the head of the loop
// CHECK-NEXT:      message
// CHECK-NEXT:      Looping back to the head of the loop
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line8
// CHECK-NEXT:       col14
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line8
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line8
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Entering loop body
// CHECK-NEXT:      message
// CHECK-NEXT:      Entering loop body
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line8
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line8
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line9
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line9
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line9
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line9
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line11
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line11
// CHECK-NEXT:            col6
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line11
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line11
// CHECK-NEXT:            col6
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line12
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line12
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line12
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line12
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line12
// CHECK-NEXT:            col26
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line12
// CHECK-NEXT:            col26
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line12
// CHECK-NEXT:       col26
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line12
// CHECK-NEXT:          col7
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line12
// CHECK-NEXT:          col28
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:      message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:     
// CHECK-NEXT:    
// CHECK-NEXT:    descriptionDereference of null pointer
// CHECK-NEXT:    categoryLogic error
// CHECK-NEXT:    typeDereference of null pointer
// CHECK-NEXT:   issue_context_kindfunction
// CHECK-NEXT:   issue_contexttestLoop
// CHECK-NEXT:   issue_hash6
// CHECK-NEXT:   location
// CHECK-NEXT:   
// CHECK-NEXT:    line12
// CHECK-NEXT:    col26
// CHECK-NEXT:    file0
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:    path
// CHECK-NEXT:    
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line88
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line88
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line88
// CHECK-NEXT:            col16
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line88
// CHECK-NEXT:            col18
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line88
// CHECK-NEXT:       col16
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line88
// CHECK-NEXT:          col16
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line88
// CHECK-NEXT:          col24
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Calling 'get'
// CHECK-NEXT:      message
// CHECK-NEXT:      Calling 'get'
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line31
// CHECK-NEXT:       col1
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      depth1
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Entered call from 'testLoopErrorInRange'
// CHECK-NEXT:      message
// CHECK-NEXT:      Entered call from 'testLoopErrorInRange'
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line31
// CHECK-NEXT:            col1
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line31
// CHECK-NEXT:            col11
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line32
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line32
// CHECK-NEXT:            col4
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line32
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line32
// CHECK-NEXT:            col4
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line33
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line33
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line33
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line33
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line33
// CHECK-NEXT:            col24
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line33
// CHECK-NEXT:            col24
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line33
// CHECK-NEXT:       col24
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line33
// CHECK-NEXT:          col5
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line33
// CHECK-NEXT:          col26
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth1
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:      message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:     
// CHECK-NEXT:    
// CHECK-NEXT:    descriptionDereference of null pointer
// CHECK-NEXT:    categoryLogic error
// CHECK-NEXT:    typeDereference of null pointer
// CHECK-NEXT:   issue_context_kindfunction
// CHECK-NEXT:   issue_contextget
// CHECK-NEXT:   issue_hash2
// CHECK-NEXT:   location
// CHECK-NEXT:   
// CHECK-NEXT:    line33
// CHECK-NEXT:    col24
// CHECK-NEXT:    file0
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:    path
// CHECK-NEXT:    
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line38
// CHECK-NEXT:       col14
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line38
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line38
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Entering loop body
// CHECK-NEXT:      message
// CHECK-NEXT:      Entering loop body
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line38
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line38
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line39
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line39
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line39
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line39
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line41
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line41
// CHECK-NEXT:            col6
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line41
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line41
// CHECK-NEXT:            col6
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line41
// CHECK-NEXT:            col9
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line41
// CHECK-NEXT:            col9
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line41
// CHECK-NEXT:       col9
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line41
// CHECK-NEXT:          col9
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line41
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Assuming 'y' is equal to 2
// CHECK-NEXT:      message
// CHECK-NEXT:      Assuming 'y' is equal to 2
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line41
// CHECK-NEXT:            col9
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line41
// CHECK-NEXT:            col9
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line42
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line42
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line42
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line42
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line42
// CHECK-NEXT:            col26
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line42
// CHECK-NEXT:            col26
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line42
// CHECK-NEXT:       col26
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line42
// CHECK-NEXT:          col7
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line42
// CHECK-NEXT:          col28
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:      message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:     
// CHECK-NEXT:    
// CHECK-NEXT:    descriptionDereference of null pointer
// CHECK-NEXT:    categoryLogic error
// CHECK-NEXT:    typeDereference of null pointer
// CHECK-NEXT:   issue_context_kindfunction
// CHECK-NEXT:   issue_contexttestLoopOpaqueCollection
// CHECK-NEXT:   issue_hash5
// CHECK-NEXT:   location
// CHECK-NEXT:   
// CHECK-NEXT:    line42
// CHECK-NEXT:    col26
// CHECK-NEXT:    file0
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:    path
// CHECK-NEXT:    
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line38
// CHECK-NEXT:       col14
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line38
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line38
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Loop body skipped when range is empty
// CHECK-NEXT:      message
// CHECK-NEXT:      Loop body skipped when range is empty
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line38
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line38
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line48
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line48
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line48
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line48
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line48
// CHECK-NEXT:            col22
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line48
// CHECK-NEXT:            col22
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line48
// CHECK-NEXT:       col22
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line48
// CHECK-NEXT:          col3
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line48
// CHECK-NEXT:          col24
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:      message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:     
// CHECK-NEXT:    
// CHECK-NEXT:    descriptionDereference of null pointer
// CHECK-NEXT:    categoryLogic error
// CHECK-NEXT:    typeDereference of null pointer
// CHECK-NEXT:   issue_context_kindfunction
// CHECK-NEXT:   issue_contexttestLoopOpaqueCollection
// CHECK-NEXT:   issue_hash11
// CHECK-NEXT:   location
// CHECK-NEXT:   
// CHECK-NEXT:    line48
// CHECK-NEXT:    col22
// CHECK-NEXT:    file0
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:    path
// CHECK-NEXT:    
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line73
// CHECK-NEXT:       col14
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line73
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line73
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Entering loop body
// CHECK-NEXT:      message
// CHECK-NEXT:      Entering loop body
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line73
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line73
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line74
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line74
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line74
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line74
// CHECK-NEXT:            col8
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line76
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line76
// CHECK-NEXT:            col6
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line76
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line76
// CHECK-NEXT:            col6
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line76
// CHECK-NEXT:            col9
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line76
// CHECK-NEXT:            col9
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line76
// CHECK-NEXT:       col9
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line76
// CHECK-NEXT:          col9
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line76
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Assuming 'y' is equal to 2
// CHECK-NEXT:      message
// CHECK-NEXT:      Assuming 'y' is equal to 2
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line76
// CHECK-NEXT:            col9
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line76
// CHECK-NEXT:            col9
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line77
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line77
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line77
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line77
// CHECK-NEXT:            col7
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line77
// CHECK-NEXT:            col26
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line77
// CHECK-NEXT:            col26
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line77
// CHECK-NEXT:       col26
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line77
// CHECK-NEXT:          col7
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line77
// CHECK-NEXT:          col28
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:      message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:     
// CHECK-NEXT:    
// CHECK-NEXT:    descriptionDereference of null pointer
// CHECK-NEXT:    categoryLogic error
// CHECK-NEXT:    typeDereference of null pointer
// CHECK-NEXT:   issue_context_kindfunction
// CHECK-NEXT:   issue_contexttestLoopOpaqueIterator
// CHECK-NEXT:   issue_hash5
// CHECK-NEXT:   location
// CHECK-NEXT:   
// CHECK-NEXT:    line77
// CHECK-NEXT:    col26
// CHECK-NEXT:    file0
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT:    path
// CHECK-NEXT:    
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line73
// CHECK-NEXT:       col14
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line73
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line73
// CHECK-NEXT:          col14
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Loop body skipped when range is empty
// CHECK-NEXT:      message
// CHECK-NEXT:      Loop body skipped when range is empty
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line73
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line73
// CHECK-NEXT:            col5
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line83
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line83
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindcontrol
// CHECK-NEXT:      edges
// CHECK-NEXT:       
// CHECK-NEXT:        
// CHECK-NEXT:         start
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line83
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line83
// CHECK-NEXT:            col3
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:         end
// CHECK-NEXT:          
// CHECK-NEXT:           
// CHECK-NEXT:            line83
// CHECK-NEXT:            col22
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:           
// CHECK-NEXT:            line83
// CHECK-NEXT:            col22
// CHECK-NEXT:            file0
// CHECK-NEXT:           
// CHECK-NEXT:          
// CHECK-NEXT:        
// CHECK-NEXT:       
// CHECK-NEXT:     
// CHECK-NEXT:     
// CHECK-NEXT:      kindevent
// CHECK-NEXT:      location
// CHECK-NEXT:      
// CHECK-NEXT:       line83
// CHECK-NEXT:       col22
// CHECK-NEXT:       file0
// CHECK-NEXT:      
// CHECK-NEXT:      ranges
// CHECK-NEXT:      
// CHECK-NEXT:        
// CHECK-NEXT:         
// CHECK-NEXT:          line83
// CHECK-NEXT:          col3
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:         
// CHECK-NEXT:          line83
// CHECK-NEXT:          col24
// CHECK-NEXT:          file0
// CHECK-NEXT:         
// CHECK-NEXT:        
// CHECK-NEXT:      
// CHECK-NEXT:      depth0
// CHECK-NEXT:      extended_message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:      message
// CHECK-NEXT:      Dereference of null pointer
// CHECK-NEXT:     
// CHECK-NEXT:    
// CHECK-NEXT:    descriptionDereference of null pointer
// CHECK-NEXT:    categoryLogic error
// CHECK-NEXT:    typeDereference of null pointer
// CHECK-NEXT:   issue_context_kindfunction
// CHECK-NEXT:   issue_contexttestLoopOpaqueIterator
// CHECK-NEXT:   issue_hash11
// CHECK-NEXT:   location
// CHECK-NEXT:   
// CHECK-NEXT:    line83
// CHECK-NEXT:    col22
// CHECK-NEXT:    file0
// CHECK-NEXT:   
// CHECK-NEXT:   
// CHECK-NEXT: