[cfe-dev] How to extract a symbol stored in LazyCompoundVal?

Torry Chen via cfe-dev cfe-dev at lists.llvm.org
Tue Jun 25 02:35:50 PDT 2019


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.

struct XY {
  uint64_t X;
  uint64_t Y;
};

...
// checkBind: pos1 -> conj_$3{struct XY, LC1, S63346, #1}
struct XY pos1 = next_pos(...);

// checkPreCall: Arg0: lazyCompoundVal{0x4aa1c58,pos1}
move_to_pos(pos1);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190625/a7d49d87/attachment.html>


More information about the cfe-dev mailing list