llvm-project/clang/docs/DataFlowAnalysisIntroImages/OutputParameterIdentificati...

341 lines
14 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg8"
version="1.1"
viewBox="0 0 200 150"
height="150mm"
width="200mm">
<defs
id="defs2">
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1403"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1401"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1393"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1391"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1383"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1381"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1373"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1371"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1363"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1361"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1353"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1351"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1343"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1341"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1333"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1331"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1323"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1321"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
</defs>
<g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1">
<text
id="text855"
y="140.22917"
x="15.875002"
style="font-size:4.93889px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
xml:space="preserve"><tspan
dx="0"
style="font-size:4.93889px;stroke-width:0.264583"
y="140.22917"
x="15.875002"
id="tspan853"
sodipodi:role="line">Overwritten: {p-&gt;x, p-&gt;y, p-&gt;z}</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
x="108.47917"
y="140.22917"
id="text855-4"><tspan
sodipodi:role="line"
id="tspan853-1"
x="108.47917"
y="140.22917"
style="font-size:4.9389px;stroke-width:0.264583"
dx="0">Overwritten: {p-&gt;x, p-&gt;z}</tspan></text>
<text
id="text855-4-1"
y="119.06249"
x="66.145836"
style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
xml:space="preserve"><tspan
dx="0"
style="font-size:4.9389px;stroke-width:0.264583"
y="119.06249"
x="66.145836"
id="tspan853-1-1"
sodipodi:role="line">Overwritten: {p-&gt;x, p-&gt;z}</tspan></text>
<text
id="text855-4-19"
y="111.12498"
x="140.22916"
style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
xml:space="preserve"><tspan
dx="0"
style="font-size:4.9389px;stroke-width:0.264583"
y="111.12498"
x="140.22916"
id="tspan853-1-0"
sodipodi:role="line">Overwritten: {p-&gt;q}</tspan></text>
<text
id="text855-4-2"
y="95.249992"
x="103.1875"
style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
xml:space="preserve"><tspan
dx="0"
style="font-size:4.9389px;stroke-width:0.264583"
y="95.249992"
x="103.1875"
id="tspan853-1-00"
sodipodi:role="line">Overwritten: {}</tspan></text>
<path
sodipodi:nodetypes="cc"
id="path909"
d="M 66.145835,134.93749 100.54167,121.70832"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1393)" />
<path
sodipodi:nodetypes="cc"
id="path911"
d="m 140.22917,134.93749 -39.6875,-13.22917"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1403)" />
<path
sodipodi:nodetypes="cc"
id="path913"
d="M 100.54167,113.77082 123.03126,96.572903"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1373)" />
<path
sodipodi:nodetypes="cc"
id="path915"
d="M 161.39584,105.83332 123.03126,96.572903"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1383)" />
<text
xml:space="preserve"
style="font-size:6.35px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
x="7.9375"
y="92.604179"
id="text855-4-2-6"><tspan
sodipodi:role="line"
id="tspan853-1-00-3"
x="7.9375"
y="92.604179"
style="font-size:6.35px;stroke-width:0.264583">Normal states</tspan></text>
<rect
y="84.666672"
x="2.6458333"
height="60.854164"
width="195.79167"
id="rect935"
style="fill:none;stroke:#000000;stroke-width:0.264999" />
<rect
y="2.6458333"
x="2.6458333"
height="71.4375"
width="195.79167"
id="rect937"
style="fill:none;stroke:#000000;stroke-width:0.264999" />
<text
id="text855-4-2-6-8"
y="10.583333"
x="7.9375"
style="font-size:6.35px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
xml:space="preserve"><tspan
style="font-size:6.35px;stroke-width:0.264583"
y="10.583333"
x="7.9375"
id="tspan853-1-00-3-4"
sodipodi:role="line">Failure states</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
x="5.2916665"
y="68.791672"
id="text855-4-2-8"><tspan
sodipodi:role="line"
id="tspan853-1-00-5"
x="5.2916665"
y="68.791672"
style="font-size:4.9389px;stroke-width:0.264583">{Unsafe read at line 3}</tspan></text>
<text
id="text855-4-2-8-1"
y="68.791672"
x="66.145836"
style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
xml:space="preserve"><tspan
style="font-size:4.9389px;stroke-width:0.264583"
y="68.791672"
x="66.145836"
id="tspan853-1-00-5-1"
sodipodi:role="line">{Pointer escape at line 5}</tspan></text>
<text
id="text855-4-2-8-8"
y="68.791672"
x="134.9375"
style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
xml:space="preserve"><tspan
style="font-size:4.9389px;stroke-width:0.264583"
y="68.791672"
x="134.9375"
id="tspan853-1-00-5-8"
sodipodi:role="line">{Unsafe read at line 7}</tspan></text>
<text
id="text855-4-2-8-9"
y="44.979164"
x="7.9375"
style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
xml:space="preserve"><tspan
style="font-size:4.9389px;stroke-width:0.264583"
y="44.979164"
x="7.9375"
id="tspan853-1-00-5-4"
sodipodi:role="line">{Unsafe read at line 3, Pointer escape at line 5}</tspan></text>
<path
id="path1019"
d="m 31.75,63.499999 31.749999,-15.875"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1333)" />
<path
id="path1021"
d="m 100.54167,63.499999 -37.041671,-15.875"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1343)" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
x="10.583333"
y="23.812502"
id="text855-4-2-8-9-8"><tspan
id="tspan1041"
sodipodi:role="line"
x="10.583333"
y="23.812502"
style="font-size:4.9389px;stroke-width:0.264583">{Unsafe read at line 3, Pointer escape at line 5, Unsafe read at line 7}</tspan></text>
<path
id="path1045"
d="M 74.083332,39.687499 124.35417,26.458333"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1353)" />
<path
id="path1047"
d="M 161.39583,63.499999 124.35417,26.458333"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1363)" />
<path
id="path1049"
d="M 100.54167,84.666666 V 74.083333"
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1323)" />
</g>
</svg>