<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
The "0x4aa1c58" part of "lazyCompoundVal{0x4aa1c58,pos1}" is a Store
object. You can access it with getStore() and then read it with the
help of a StoreManager.<br>
<br>
Hmm, we seem to already have a convenient API for that, you can do
StoreManager::getDefaultBinding(nonloc::LazyCompoundVal) directly if
all you need is a default-bound conjured symbol. But if you want to
lookup, say, specific fields in the structure (X and Y separately),
you'll need to do getBinding() on manually constructed FieldRegions
(in your case it doesn't look very useful because the whole
structure is conjured anyway).<br>
<br>
I guess at this point you might like the chapter 5 of my old
workbook
(<a class="moz-txt-link-freetext" href="https://github.com/haoNoQ/clang-analyzer-guide/releases/download/v0.1/clang-analyzer-guide-v0.1.pdf">https://github.com/haoNoQ/clang-analyzer-guide/releases/download/v0.1/clang-analyzer-guide-v0.1.pdf</a>),
as for now it seems to be the only place where different kinds of
values are explained.<br>
<br>
<br>
<div class="moz-cite-prefix">On 6/25/19 2:35 AM, Torry Chen via
cfe-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CADmWND8g5cRyj+ga80+4W8oOtgCA=Z0hYueBty=xQ1XKf6NPYQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">My project has a struct type as follows and I'm
writing a checker for some functions that take the struct value
as an argument. In the checkPreCall function I see the argument
is an LazyCompoundVal, not a symbol as it would be for a
primitive type. I tried a few ways to extract the symbol from
the LazyCompountVal with no luck. Hope to get some help here.<br>
<br>
<font face="courier new, monospace">struct XY {<br>
uint64_t X;<br>
uint64_t Y;<br>
};<br>
<br>
...<br>
// checkBind: pos1 -> conj_$3{struct XY, LC1, S63346, #1}</font>
<div><span style="font-family:"courier new",monospace">struct
XY pos1 = next_pos(...);</span> <font face="courier new,
monospace"><br>
<br>
// checkPreCall: Arg0: lazyCompoundVal{0x4aa1c58,pos1}<br>
move_to_pos(pos1);</font><br>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
cfe-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>