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