xref: /minix3/external/bsd/llvm/dist/clang/test/Analysis/method-call-path-notes.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
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 Sambuc void 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 Sambuc void 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 Sambuc void 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 Sambuc void 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 Sambuc void 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 Sambuc void 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>&apos;p&apos; declared without an initial value</string>
76*f4a2713aSLionel Sambuc // CHECK-NEXT:      <key>message</key>
77*f4a2713aSLionel Sambuc // CHECK-NEXT:      <string>&apos;p&apos; 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>&apos;p&apos; initialized to a null pointer value</string>
185*f4a2713aSLionel Sambuc // CHECK-NEXT:      <key>message</key>
186*f4a2713aSLionel Sambuc // CHECK-NEXT:      <string>&apos;p&apos; 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 &apos;p&apos;</string>
328*f4a2713aSLionel Sambuc // CHECK-NEXT:      <key>message</key>
329*f4a2713aSLionel Sambuc // CHECK-NEXT:      <string>Null pointer value stored to &apos;p&apos;</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 &apos;p&apos; is null</string>
471*f4a2713aSLionel Sambuc // CHECK-NEXT:      <key>message</key>
472*f4a2713aSLionel Sambuc // CHECK-NEXT:      <string>Assuming &apos;p&apos; 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>&apos;p&apos; initialized to a null pointer value</string>
580*f4a2713aSLionel Sambuc // CHECK-NEXT:      <key>message</key>
581*f4a2713aSLionel Sambuc // CHECK-NEXT:      <string>&apos;p&apos; 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 &apos;p&apos; is null</string>
723*f4a2713aSLionel Sambuc // CHECK-NEXT:      <key>message</key>
724*f4a2713aSLionel Sambuc // CHECK-NEXT:      <string>Assuming &apos;p&apos; 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