[cfe-dev] Question on use cases for OpaqueValueExpr

Roger Ferrer Ibáñez via cfe-dev cfe-dev at lists.llvm.org
Wed Jan 13 07:59:02 PST 2021


Hi all,

I have seen that sometimes clang builds an AST called OpaqueValueExpr.
Expr.h includes the following comment

 /// OpaqueValueExpr - An expression referring to an opaque object of a
 /// fixed type and value class. These don't correspond to concrete
 /// syntax; instead they're used to express operations (usually copy
 /// operations) on values whose source is generally obvious from
 /// context.

I am not sure to understand what are the use cases of that kind of
expression.

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.

Thank you very much.

-- 
Roger Ferrer Ibáñez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20210113/242db9c0/attachment-0001.html>


More information about the cfe-dev mailing list