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