<div dir="ltr"><div>Hi all,</div><div><br></div><div></div><div>I have seen that sometimes clang builds an AST called <span style="font-family:monospace">OpaqueValueExpr</span>. <span style="font-family:monospace">Expr.h</span> includes the following comment<br></div><div><br></div><div><div class="gmail-line"><span style="font-family:monospace"> <span class="gmail-comment">/// OpaqueValueExpr - An expression referring to an opaque object of a</span></span></div><div class="gmail-line"><span style="font-family:monospace"><a name="l01121"></a></span></div><div class="gmail-line"><span style="font-family:monospace"> <span class="gmail-comment">/// fixed type and value class.  These don't correspond to concrete</span></span></div><div class="gmail-line"><span style="font-family:monospace"><a name="l01122"></a></span></div><div class="gmail-line"><span style="font-family:monospace"> <span class="gmail-comment">/// syntax; instead they're used to express operations (usually copy</span></span></div><div class="gmail-line"><span style="font-family:monospace"><a name="l01123"></a></span></div><div class="gmail-line"><span style="font-family:monospace"> <span class="gmail-comment">/// operations) on values whose source is generally obvious from</span></span></div><div class="gmail-line"><span style="font-family:monospace"><a name="l01124"></a></span></div><span style="font-family:monospace"> <span class="gmail-comment">/// context.</span></span></div><div><span class="gmail-comment"><br></span></div><div><span class="gmail-comment">I am not sure to understand what are the use cases of that kind of expression.</span></div><div><span class="gmail-comment"><br></span></div><div><span class="gmail-comment">Is it for those expressions that need to be created (e.g .for the purpose of codegen) but they are not explicitly defined in the input? For instance a case where the spec tells us that something behaves as if some expression had actually been spelled in the code.<br></span></div><div><span class="gmail-comment"><br></span></div><div><span class="gmail-comment">Thank you very much.<br></span></div><div><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Roger Ferrer Ibáñez<br></div></div></div>