1189 lines
		
	
	
		
			52 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			1189 lines
		
	
	
		
			52 KiB
		
	
	
	
		
			C
		
	
	
	
// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-output=text -verify %s
 | 
						|
// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-output=plist-multi-file -analyzer-config path-diagnostics-alternate=false %s -o %t.plist
 | 
						|
// RUN: FileCheck --input-file=%t.plist %s
 | 
						|
 | 
						|
void foo_irrelevant(int c) {
 | 
						|
    if (c)
 | 
						|
        return;
 | 
						|
    c++;
 | 
						|
    return;
 | 
						|
}
 | 
						|
void foo(int c, int *x) {
 | 
						|
    if (c)
 | 
						|
           //expected-note@-1{{Assuming 'c' is not equal to 0}}
 | 
						|
           //expected-note@-2{{Taking true branch}}
 | 
						|
        return;
 | 
						|
    *x = 5;
 | 
						|
}
 | 
						|
 | 
						|
int use(int c) {
 | 
						|
    int xx; //expected-note {{'xx' declared without an initial value}}
 | 
						|
    int *y = &xx;
 | 
						|
    foo (c, y);
 | 
						|
                //expected-note@-1{{Calling 'foo'}}
 | 
						|
                //expected-note@-2{{Returning from 'foo'}}
 | 
						|
    foo_irrelevant(c);
 | 
						|
    return xx+3; //expected-warning{{The left operand of '+' is a garbage value}}
 | 
						|
                 //expected-note@-1{{The left operand of '+' is a garbage value}}
 | 
						|
}
 | 
						|
 | 
						|
void initArray(int x, double XYZ[3]) {
 | 
						|
    if (x <= 0) //expected-note {{Taking true branch}}
 | 
						|
                //expected-note@-1 {{Assuming 'x' is <= 0}}
 | 
						|
        return;
 | 
						|
    XYZ[0] = 1;
 | 
						|
    XYZ[1] = 1;
 | 
						|
    XYZ[2] = 1;
 | 
						|
}
 | 
						|
int testPassingParentRegionArray(int x) {
 | 
						|
    double XYZ[3];
 | 
						|
    initArray(x, XYZ); //expected-note {{Calling 'initArray'}}
 | 
						|
                       //expected-note@-1 {{Returning from 'initArray'}}
 | 
						|
    return 1 * XYZ[1]; //expected-warning {{The right operand of '*' is a garbage value}}
 | 
						|
                       //expected-note@-1 {{The right operand of '*' is a garbage value}}
 | 
						|
}
 | 
						|
 | 
						|
double *getValidPtr();
 | 
						|
struct WithFields {
 | 
						|
  double *f1;
 | 
						|
};
 | 
						|
void initStruct(int x, struct WithFields *X) {
 | 
						|
  if (x <= 0) //expected-note {{Taking true branch}}
 | 
						|
              //expected-note@-1 {{Assuming 'x' is <= 0}}
 | 
						|
 | 
						|
    return;
 | 
						|
  X->f1 = getValidPtr();
 | 
						|
}
 | 
						|
double testPassingParentRegionStruct(int x) {
 | 
						|
  struct WithFields st;
 | 
						|
  st.f1 = 0; // expected-note {{Null pointer value stored to 'st.f1'}}
 | 
						|
  initStruct(x, &st); //expected-note {{Calling 'initStruct'}}
 | 
						|
                      //expected-note@-1 {{Returning from 'initStruct'}}
 | 
						|
  return (*st.f1); //expected-warning {{Dereference of null pointer}}
 | 
						|
                   //expected-note@-1{{Dereference of null pointer (loaded from field 'f1')}}
 | 
						|
}
 | 
						|
 | 
						|
// CHECK:  <key>diagnostics</key>
 | 
						|
// CHECK-NEXT:  <array>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>path</key>
 | 
						|
// CHECK-NEXT:    <array>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>20</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>20</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>20</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>10</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>'xx' declared without an initial value</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>'xx' declared without an initial value</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>20</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>20</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Calling 'foo'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Calling 'foo'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>11</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Entered call from 'use'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Entered call from 'use'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>11</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>11</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>4</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>6</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>6</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Assuming 'c' is not equal to 0</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Assuming 'c' is not equal to 0</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>15</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>15</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Returning from 'foo'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Returning from 'foo'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>25</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>25</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>18</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>25</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>25</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>18</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>26</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>26</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>26</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>26</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>26</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>13</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>The left operand of '+' is a garbage value</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>The left operand of '+' is a garbage value</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:    </array>
 | 
						|
// CHECK-NEXT:    <key>description</key><string>The left operand of '+' is a garbage value</string>
 | 
						|
// CHECK-NEXT:    <key>category</key><string>Logic error</string>
 | 
						|
// CHECK-NEXT:    <key>type</key><string>Result of operation is garbage or undefined</string>
 | 
						|
// CHECK-NEXT:    <key>check_name</key><string>core.UndefinedBinaryOperatorResult</string>
 | 
						|
// CHECK-NEXT:    <!-- This hash is experimental and going to change! -->
 | 
						|
// CHECK-NEXT:    <key>issue_hash_content_of_line_in_context</key><string>ae5e3bd03d6d97614947942dae18e1da</string>
 | 
						|
// CHECK-NEXT:   <key>issue_context_kind</key><string>function</string>
 | 
						|
// CHECK-NEXT:   <key>issue_context</key><string>use</string>
 | 
						|
// CHECK-NEXT:   <key>issue_hash_function_offset</key><string>7</string>
 | 
						|
// CHECK-NEXT:   <key>location</key>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>line</key><integer>26</integer>
 | 
						|
// CHECK-NEXT:    <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:    <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:   </dict>
 | 
						|
// CHECK-NEXT:   </dict>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>path</key>
 | 
						|
// CHECK-NEXT:    <array>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>39</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>39</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>10</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>13</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>21</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Calling 'initArray'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Calling 'initArray'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>30</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Entered call from 'testPassingParentRegionArray'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Entered call from 'testPassingParentRegionArray'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>30</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>30</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>4</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>6</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>6</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Assuming 'x' is <= 0</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Assuming 'x' is <= 0</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>31</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>33</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>9</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>33</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>21</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Returning from 'initArray'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Returning from 'initArray'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>40</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>13</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>42</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>42</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>42</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>42</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>16</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>42</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>21</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>The right operand of '*' is a garbage value</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>The right operand of '*' is a garbage value</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:    </array>
 | 
						|
// CHECK-NEXT:    <key>description</key><string>The right operand of '*' is a garbage value</string>
 | 
						|
// CHECK-NEXT:    <key>category</key><string>Logic error</string>
 | 
						|
// CHECK-NEXT:    <key>type</key><string>Result of operation is garbage or undefined</string>
 | 
						|
// CHECK-NEXT:    <key>check_name</key><string>core.UndefinedBinaryOperatorResult</string>
 | 
						|
// CHECK-NEXT:    <!-- This hash is experimental and going to change! -->
 | 
						|
// CHECK-NEXT:    <key>issue_hash_content_of_line_in_context</key><string>96cf3258da3df14d13cd5c2236c9cb27</string>
 | 
						|
// CHECK-NEXT:   <key>issue_context_kind</key><string>function</string>
 | 
						|
// CHECK-NEXT:   <key>issue_context</key><string>testPassingParentRegionArray</string>
 | 
						|
// CHECK-NEXT:   <key>issue_hash_function_offset</key><string>4</string>
 | 
						|
// CHECK-NEXT:   <key>location</key>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>line</key><integer>42</integer>
 | 
						|
// CHECK-NEXT:    <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:    <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:   </dict>
 | 
						|
// CHECK-NEXT:   </dict>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>path</key>
 | 
						|
// CHECK-NEXT:    <array>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>58</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>58</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>8</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>59</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>59</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>4</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>59</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>59</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>59</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>11</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Null pointer value stored to 'st.f1'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Null pointer value stored to 'st.f1'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>59</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>59</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>4</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>20</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Calling 'initStruct'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Calling 'initStruct'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>50</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Entered call from 'testPassingParentRegionStruct'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Entered call from 'testPassingParentRegionStruct'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>50</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>50</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>4</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>4</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>4</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>7</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>7</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>1</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Assuming 'x' is <= 0</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Assuming 'x' is <= 0</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>51</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>54</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>54</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>10</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>20</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Returning from 'initStruct'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Returning from 'initStruct'</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>60</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>8</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>control</string>
 | 
						|
// CHECK-NEXT:      <key>edges</key>
 | 
						|
// CHECK-NEXT:       <array>
 | 
						|
// CHECK-NEXT:        <dict>
 | 
						|
// CHECK-NEXT:         <key>start</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>3</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>8</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>10</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>10</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:          </array>
 | 
						|
// CHECK-NEXT:        </dict>
 | 
						|
// CHECK-NEXT:       </array>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:     <dict>
 | 
						|
// CHECK-NEXT:      <key>kind</key><string>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>10</integer>
 | 
						|
// CHECK-NEXT:       <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      </dict>
 | 
						|
// CHECK-NEXT:      <key>ranges</key>
 | 
						|
// CHECK-NEXT:      <array>
 | 
						|
// CHECK-NEXT:        <array>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>15</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>16</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:        </array>
 | 
						|
// CHECK-NEXT:      </array>
 | 
						|
// CHECK-NEXT:      <key>depth</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:      <key>extended_message</key>
 | 
						|
// CHECK-NEXT:      <string>Dereference of null pointer (loaded from field 'f1')</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Dereference of null pointer (loaded from field 'f1')</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:    </array>
 | 
						|
// CHECK-NEXT:    <key>description</key><string>Dereference of null pointer (loaded from field 'f1')</string>
 | 
						|
// CHECK-NEXT:    <key>category</key><string>Logic error</string>
 | 
						|
// CHECK-NEXT:    <key>type</key><string>Dereference of null pointer</string>
 | 
						|
// CHECK-NEXT:    <key>check_name</key><string>core.NullDereference</string>
 | 
						|
// CHECK-NEXT:    <!-- This hash is experimental and going to change! -->
 | 
						|
// CHECK-NEXT:    <key>issue_hash_content_of_line_in_context</key><string>299055864402de225b0ab4f2ecd8e76c</string>
 | 
						|
// CHECK-NEXT:   <key>issue_context_kind</key><string>function</string>
 | 
						|
// CHECK-NEXT:   <key>issue_context</key><string>testPassingParentRegionStruct</string>
 | 
						|
// CHECK-NEXT:   <key>issue_hash_function_offset</key><string>5</string>
 | 
						|
// CHECK-NEXT:   <key>location</key>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>line</key><integer>62</integer>
 | 
						|
// CHECK-NEXT:    <key>col</key><integer>10</integer>
 | 
						|
// CHECK-NEXT:    <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:   </dict>
 | 
						|
// CHECK-NEXT:   </dict>
 | 
						|
// CHECK-NEXT:  </array>
 |