1*f4a2713aSLionel Sambuc// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-store=region -analyzer-output=text -fblocks -verify -Wno-objc-root-class %s 2*f4a2713aSLionel Sambuc// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-store=region -analyzer-output=plist-multi-file -analyzer-config path-diagnostics-alternate=false -fblocks -Wno-objc-root-class %s -o %t 3*f4a2713aSLionel Sambuc// RUN: FileCheck --input-file=%t %s 4*f4a2713aSLionel Sambuc 5*f4a2713aSLionel Sambuc@interface Root { 6*f4a2713aSLionel Sambuc@public 7*f4a2713aSLionel Sambuc int uniqueID; 8*f4a2713aSLionel Sambuc} 9*f4a2713aSLionel Sambuc- (id)initWithID:(int)newID; 10*f4a2713aSLionel Sambuc- (void)refreshID; 11*f4a2713aSLionel Sambuc@end 12*f4a2713aSLionel Sambuc 13*f4a2713aSLionel Sambucint testNull(Root *obj) { 14*f4a2713aSLionel Sambuc if (obj) return 0; 15*f4a2713aSLionel Sambuc // expected-note@-1 {{Assuming 'obj' is nil}} 16*f4a2713aSLionel Sambuc // expected-note@-2 {{Taking false branch}} 17*f4a2713aSLionel Sambuc 18*f4a2713aSLionel Sambuc int *x = &obj->uniqueID; // expected-note{{'x' initialized to a null pointer value}} 19*f4a2713aSLionel Sambuc return *x; // expected-warning{{Dereference of null pointer (loaded from variable 'x')}} expected-note{{Dereference of null pointer (loaded from variable 'x')}} 20*f4a2713aSLionel Sambuc} 21*f4a2713aSLionel Sambuc 22*f4a2713aSLionel Sambuc 23*f4a2713aSLionel Sambuc@interface Subclass : Root 24*f4a2713aSLionel Sambuc@end 25*f4a2713aSLionel Sambuc 26*f4a2713aSLionel Sambuc@implementation Subclass 27*f4a2713aSLionel Sambuc- (id)initWithID:(int)newID { 28*f4a2713aSLionel Sambuc self = [super initWithID:newID]; // expected-note{{Value assigned to 'self'}} 29*f4a2713aSLionel Sambuc if (self) return self; 30*f4a2713aSLionel Sambuc // expected-note@-1 {{Assuming 'self' is nil}} 31*f4a2713aSLionel Sambuc // expected-note@-2 {{Taking false branch}} 32*f4a2713aSLionel Sambuc 33*f4a2713aSLionel Sambuc uniqueID = newID; // expected-warning{{Access to instance variable 'uniqueID' results in a dereference of a null pointer (loaded from variable 'self')}} expected-note{{Access to instance variable 'uniqueID' results in a dereference of a null pointer (loaded from variable 'self')}} 34*f4a2713aSLionel Sambuc return self; 35*f4a2713aSLionel Sambuc} 36*f4a2713aSLionel Sambuc 37*f4a2713aSLionel Sambuc@end 38*f4a2713aSLionel Sambuc 39*f4a2713aSLionel Sambucvoid repeatedStores(int coin) { 40*f4a2713aSLionel Sambuc int *p = 0; 41*f4a2713aSLionel Sambuc if (coin) { 42*f4a2713aSLionel Sambuc // expected-note@-1 {{Assuming 'coin' is 0}} 43*f4a2713aSLionel Sambuc // expected-note@-2 {{Taking false branch}} 44*f4a2713aSLionel Sambuc extern int *getPointer(); 45*f4a2713aSLionel Sambuc p = getPointer(); 46*f4a2713aSLionel Sambuc } else { 47*f4a2713aSLionel Sambuc p = 0; // expected-note {{Null pointer value stored to 'p'}} 48*f4a2713aSLionel Sambuc } 49*f4a2713aSLionel Sambuc 50*f4a2713aSLionel Sambuc *p = 1; // expected-warning{{Dereference of null pointer}} expected-note{{Dereference of null pointer}} 51*f4a2713aSLionel Sambuc} 52*f4a2713aSLionel Sambuc 53*f4a2713aSLionel Sambuc 54*f4a2713aSLionel Sambuc// CHECK: <key>diagnostics</key> 55*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 56*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 57*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>path</key> 58*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 59*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 60*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 61*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 62*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 63*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 64*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 65*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 66*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 67*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>14</integer> 68*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 69*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 70*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 71*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 72*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>14</integer> 73*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>4</integer> 74*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 75*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 76*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 77*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 78*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 79*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 80*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>14</integer> 81*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 82*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 83*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 84*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 85*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>14</integer> 86*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>9</integer> 87*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 88*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 89*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 90*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 91*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 92*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 93*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 94*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>event</string> 95*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 96*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 97*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>14</integer> 98*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 99*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 100*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 101*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>ranges</key> 102*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 103*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 104*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 105*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>14</integer> 106*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 107*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 108*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 109*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 110*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>14</integer> 111*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>9</integer> 112*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 113*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 114*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 115*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 116*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>depth</key><integer>0</integer> 117*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>extended_message</key> 118*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Assuming 'obj' is nil</string> 119*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>message</key> 120*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Assuming 'obj' is nil</string> 121*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 122*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 123*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 124*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 125*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 126*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 127*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 128*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 129*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 130*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>14</integer> 131*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 132*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 133*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 134*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 135*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>14</integer> 136*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>9</integer> 137*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 138*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 139*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 140*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 141*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 142*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 143*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>18</integer> 144*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 145*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 146*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 147*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 148*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>18</integer> 149*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>5</integer> 150*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 151*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 152*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 153*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 154*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 155*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 156*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 157*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>event</string> 158*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 159*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 160*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>18</integer> 161*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 162*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 163*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 164*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>ranges</key> 165*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 166*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 167*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 168*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>18</integer> 169*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 170*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 171*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 172*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 173*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>18</integer> 174*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>8</integer> 175*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 176*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 177*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 178*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 179*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>depth</key><integer>0</integer> 180*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>extended_message</key> 181*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>'x' initialized to a null pointer value</string> 182*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>message</key> 183*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>'x' initialized to a null pointer value</string> 184*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 185*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 186*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 187*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 188*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 189*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 190*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 191*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 192*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 193*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>18</integer> 194*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 195*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 196*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 197*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 198*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>18</integer> 199*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>5</integer> 200*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 201*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 202*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 203*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 204*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 205*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 206*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 207*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 208*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 209*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 210*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 211*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 212*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>8</integer> 213*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 214*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 215*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 216*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 217*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 218*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 219*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 220*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 221*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 222*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 223*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 224*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 225*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 226*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 227*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 228*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 229*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 230*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 231*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 232*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 233*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>8</integer> 234*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 235*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 236*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 237*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 238*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 239*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 240*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 241*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 242*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 243*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 244*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 245*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 246*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 247*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 248*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 249*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 250*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 251*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 252*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 253*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 254*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>event</string> 255*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 256*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 257*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 258*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 259*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 260*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 261*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>ranges</key> 262*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 263*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 264*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 265*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 266*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>11</integer> 267*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 268*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 269*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 270*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 271*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>11</integer> 272*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 273*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 274*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 275*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 276*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>depth</key><integer>0</integer> 277*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>extended_message</key> 278*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Dereference of null pointer (loaded from variable 'x')</string> 279*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>message</key> 280*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Dereference of null pointer (loaded from variable 'x')</string> 281*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 282*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 283*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'x')</string> 284*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>category</key><string>Logic error</string> 285*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 286*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>issue_context_kind</key><string>function</string> 287*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>issue_context</key><string>testNull</string> 288*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>issue_hash</key><string>6</string> 289*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 290*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 291*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>19</integer> 292*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 293*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 294*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 295*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 296*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 297*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>path</key> 298*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 299*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 300*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>event</string> 301*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 302*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 303*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>28</integer> 304*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 305*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 306*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 307*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>ranges</key> 308*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 309*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 310*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 311*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>28</integer> 312*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 313*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 314*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 315*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 316*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>28</integer> 317*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>33</integer> 318*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 319*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 320*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 321*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 322*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>depth</key><integer>0</integer> 323*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>extended_message</key> 324*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Value assigned to 'self'</string> 325*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>message</key> 326*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Value assigned to 'self'</string> 327*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 328*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 329*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 330*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 331*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 332*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 333*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 334*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 335*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 336*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>28</integer> 337*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 338*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 339*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 340*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 341*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>28</integer> 342*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>6</integer> 343*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 344*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 345*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 346*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 347*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 348*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 349*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 350*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 351*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 352*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 353*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 354*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 355*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>4</integer> 356*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 357*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 358*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 359*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 360*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 361*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 362*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 363*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 364*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 365*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 366*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 367*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 368*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 369*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 370*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 371*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 372*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 373*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 374*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 375*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 376*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>4</integer> 377*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 378*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 379*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 380*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 381*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 382*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 383*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 384*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 385*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 386*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 387*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 388*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 389*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 390*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 391*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 392*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 393*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 394*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 395*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 396*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 397*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>event</string> 398*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 399*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 400*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 401*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 402*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 403*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 404*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>ranges</key> 405*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 406*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 407*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 408*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 409*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 410*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 411*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 412*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 413*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 414*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 415*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 416*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 417*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 418*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 419*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>depth</key><integer>0</integer> 420*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>extended_message</key> 421*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Assuming 'self' is nil</string> 422*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>message</key> 423*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Assuming 'self' is nil</string> 424*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 425*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 426*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 427*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 428*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 429*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 430*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 431*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 432*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 433*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 434*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 435*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 436*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 437*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 438*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>29</integer> 439*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 440*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 441*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 442*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 443*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 444*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 445*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 446*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>33</integer> 447*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 448*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 449*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 450*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 451*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>33</integer> 452*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 453*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 454*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 455*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 456*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 457*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 458*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 459*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 460*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 461*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 462*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 463*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 464*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 465*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 466*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 467*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>33</integer> 468*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 469*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 470*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 471*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 472*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>33</integer> 473*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 474*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 475*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 476*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 477*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 478*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 479*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 480*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>33</integer> 481*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>12</integer> 482*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 483*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 484*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 485*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>33</integer> 486*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>12</integer> 487*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 488*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 489*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 490*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 491*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 492*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 493*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 494*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>event</string> 495*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 496*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 497*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>33</integer> 498*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>12</integer> 499*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 500*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 501*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>depth</key><integer>0</integer> 502*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>extended_message</key> 503*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Access to instance variable 'uniqueID' results in a dereference of a null pointer (loaded from variable 'self')</string> 504*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>message</key> 505*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Access to instance variable 'uniqueID' results in a dereference of a null pointer (loaded from variable 'self')</string> 506*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 507*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 508*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>description</key><string>Access to instance variable 'uniqueID' results in a dereference of a null pointer (loaded from variable 'self')</string> 509*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>category</key><string>Logic error</string> 510*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 511*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> 512*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>issue_context</key><string>initWithID:</string> 513*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>issue_hash</key><string>6</string> 514*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 515*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 516*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>33</integer> 517*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>12</integer> 518*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 519*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 520*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 521*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 522*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>path</key> 523*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 524*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 525*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 526*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 527*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 528*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 529*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 530*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 531*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 532*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>40</integer> 533*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 534*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 535*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 536*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 537*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>40</integer> 538*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>5</integer> 539*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 540*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 541*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 542*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 543*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 544*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 545*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 546*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 547*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 548*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 549*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 550*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 551*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>4</integer> 552*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 553*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 554*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 555*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 556*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 557*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 558*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 559*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 560*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 561*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 562*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 563*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 564*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 565*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 566*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 567*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 568*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 569*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 570*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 571*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 572*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>4</integer> 573*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 574*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 575*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 576*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 577*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 578*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 579*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 580*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 581*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 582*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 583*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 584*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 585*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 586*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 587*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 588*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 589*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 590*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 591*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 592*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 593*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>event</string> 594*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 595*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 596*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 597*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 598*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 599*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 600*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>ranges</key> 601*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 602*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 603*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 604*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 605*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 606*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 607*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 608*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 609*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 610*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 611*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 612*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 613*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 614*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 615*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>depth</key><integer>0</integer> 616*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>extended_message</key> 617*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Assuming 'coin' is 0</string> 618*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>message</key> 619*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Assuming 'coin' is 0</string> 620*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 621*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 622*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 623*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 624*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 625*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 626*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 627*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 628*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 629*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 630*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>7</integer> 631*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 632*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 633*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 634*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>41</integer> 635*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>10</integer> 636*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 637*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 638*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 639*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 640*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 641*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 642*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>47</integer> 643*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>5</integer> 644*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 645*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 646*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 647*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>47</integer> 648*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>5</integer> 649*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 650*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 651*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 652*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 653*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 654*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 655*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 656*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>event</string> 657*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 658*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 659*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>47</integer> 660*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>5</integer> 661*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 662*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 663*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>ranges</key> 664*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 665*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 666*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 667*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>47</integer> 668*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>5</integer> 669*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 670*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 671*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 672*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>47</integer> 673*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>9</integer> 674*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 675*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 676*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 677*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 678*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>depth</key><integer>0</integer> 679*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>extended_message</key> 680*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Null pointer value stored to 'p'</string> 681*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>message</key> 682*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Null pointer value stored to 'p'</string> 683*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 684*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 685*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 686*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 687*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 688*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 689*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 690*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 691*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 692*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>47</integer> 693*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>5</integer> 694*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 695*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 696*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 697*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>47</integer> 698*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>5</integer> 699*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 700*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 701*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 702*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 703*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 704*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 705*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 706*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 707*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 708*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 709*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 710*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 711*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 712*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 713*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 714*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 715*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 716*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 717*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 718*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 719*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>control</string> 720*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>edges</key> 721*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 722*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 723*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>start</key> 724*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 725*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 726*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 727*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 728*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 729*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 730*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 731*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 732*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>3</integer> 733*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 734*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 735*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 736*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>end</key> 737*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 738*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 739*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 740*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>6</integer> 741*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 742*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 743*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 744*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 745*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>6</integer> 746*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 747*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 748*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 749*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 750*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 751*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 752*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 753*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>kind</key><string>event</string> 754*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 755*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 756*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 757*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>6</integer> 758*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 759*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 760*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>ranges</key> 761*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 762*f4a2713aSLionel Sambuc// CHECK-NEXT: <array> 763*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 764*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 765*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>4</integer> 766*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 767*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 768*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 769*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 770*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>4</integer> 771*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 772*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 773*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 774*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 775*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>depth</key><integer>0</integer> 776*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>extended_message</key> 777*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Dereference of null pointer (loaded from variable 'p')</string> 778*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>message</key> 779*f4a2713aSLionel Sambuc// CHECK-NEXT: <string>Dereference of null pointer (loaded from variable 'p')</string> 780*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 781*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 782*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> 783*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>category</key><string>Logic error</string> 784*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 785*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>issue_context_kind</key><string>function</string> 786*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>issue_context</key><string>repeatedStores</string> 787*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>issue_hash</key><string>11</string> 788*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>location</key> 789*f4a2713aSLionel Sambuc// CHECK-NEXT: <dict> 790*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>line</key><integer>50</integer> 791*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>col</key><integer>6</integer> 792*f4a2713aSLionel Sambuc// CHECK-NEXT: <key>file</key><integer>0</integer> 793*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 794*f4a2713aSLionel Sambuc// CHECK-NEXT: </dict> 795*f4a2713aSLionel Sambuc// CHECK-NEXT: </array> 796