clang 8.0.0

Public Member Functions | Static Public Member Functions | List of all members
clang::CodeGen::CodeGenFunction::OpaqueValueMapping Class Reference

An RAII object to set (and then clear) a mapping for an OpaqueValueExpr. More...

`#include "/work/www-prereleases/8.0.0/rc2/builddocs/llvm.src/tools/clang/lib/CodeGen/CodeGenFunction.h"`

## Public Member Functions
| OpaqueValueMapping (CodeGenFunction &CGF, const AbstractConditionalOperator *op)
| Build the opaque value mapping for the given conditional operator if it's the GNU ?: extension. More...
| OpaqueValueMapping (CodeGenFunction &CGF, const OpaqueValueExpr *OV)
| Build the opaque value mapping for an OpaqueValueExpr whose source expression is set to the expression the OVE represents. More...
| OpaqueValueMapping (CodeGenFunction &CGF, const OpaqueValueExpr *opaqueValue, LValue lvalue)
| OpaqueValueMapping (CodeGenFunction &CGF, const OpaqueValueExpr *opaqueValue, RValue rvalue)
void | pop ()
| ~OpaqueValueMapping ()

## Static Public Member Functions
static bool | shouldBindAsLValue (const Expr *expr)

## Detailed Description

An RAII object to set (and then clear) a mapping for an OpaqueValueExpr.

Definition at line 1141 of file CodeGenFunction.h.

## Constructor & Destructor Documentation

## ◆ OpaqueValueMapping() [1/4]

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping | ( | CodeGenFunction & | CGF,
|  | const AbstractConditionalOperator * | op
| ) |  |
| inline

Build the opaque value mapping for the given conditional operator if it's the GNU ?: extension.

This is a common enough pattern that the convenience operator is really helpful.

Definition at line 1155 of file CodeGenFunction.h.

References clang::BinaryConditionalOperator::getCommon(), and clang::BinaryConditionalOperator::getOpaqueValue().

## ◆ OpaqueValueMapping() [2/4]

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping | ( | CodeGenFunction & | CGF,
|  | const OpaqueValueExpr * | OV
| ) |  |
| inline

Build the opaque value mapping for an OpaqueValueExpr whose source expression is set to the expression the OVE represents.

Definition at line 1168 of file CodeGenFunction.h.

References clang::OpaqueValueExpr::getSourceExpr().

## ◆ OpaqueValueMapping() [3/4]

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping | ( | CodeGenFunction & | CGF,
|  | const OpaqueValueExpr * | opaqueValue,
|  | LValue | lvalue
| ) |  |
| inline

Definition at line 1177 of file CodeGenFunction.h.

## ◆ OpaqueValueMapping() [4/4]

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping | ( | CodeGenFunction & | CGF,
|  | const OpaqueValueExpr * | opaqueValue,
|  | RValue | rvalue
| ) |  |
| inline

Definition at line 1183 of file CodeGenFunction.h.

## ◆ ~OpaqueValueMapping()

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::~OpaqueValueMapping | ( |  | ) |
| inline

Definition at line 1194 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::isValid(), clang::OMPD_unknown, and clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::unbind().

## Member Function Documentation

## ◆ pop()

void clang::CodeGen::CodeGenFunction::OpaqueValueMapping::pop | ( |  | ) |
| inline

Definition at line 1189 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::clear(), and clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::unbind().

## ◆ shouldBindAsLValue()

static bool clang::CodeGen::CodeGenFunction::OpaqueValueMapping::shouldBindAsLValue | ( | const Expr * | expr | ) |
| inline static

Definition at line 1146 of file CodeGenFunction.h.

Referenced by clang::CodeGen::CodeGenFunction::getOrCreateOpaqueLValueMapping(), and clang::CodeGen::CodeGenFunction::getOrCreateOpaqueRValueMapping().

The documentation for this class was generated from the following file:

- lib/CodeGen/CodeGenFunction.h