clang
19.0.0git
|
#include "clang/Sema/SemaPseudoObject.h"
Additional Inherited Members | |
![]() | |
enum class | DeviceDiagnosticReason { None = 0 , OmpDevice = 1 << 0 , OmpHost = 1 << 1 , OmpAll = OmpDevice | OmpHost , CudaDevice = 1 << 2 , CudaHost = 1 << 3 , CudaAll = CudaDevice | CudaHost , Sycl = 1 << 4 , Esimd = 1 << 5 , All = OmpAll | CudaAll | Sycl | Esimd } |
Bitmask to contain the list of reasons a single diagnostic should be emitted, based on its language. More... | |
![]() | |
Sema & | SemaRef |
Definition at line 26 of file SemaPseudoObject.h.
SemaPseudoObject::SemaPseudoObject | ( | Sema & | S | ) |
Definition at line 1595 of file SemaPseudoObject.cpp.
ExprResult SemaPseudoObject::checkAssignment | ( | Scope * | S, |
SourceLocation | OpLoc, | ||
BinaryOperatorKind | Opcode, | ||
Expr * | LHS, | ||
Expr * | RHS | ||
) |
Definition at line 1505 of file SemaPseudoObject.cpp.
Referenced by clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr().
ExprResult SemaPseudoObject::checkIncDec | ( | Scope * | S, |
SourceLocation | OpLoc, | ||
UnaryOperatorKind | Opcode, | ||
Expr * | Op | ||
) |
Check an increment or decrement of a pseudo-object expression.
Definition at line 1475 of file SemaPseudoObject.cpp.
References clang::UnaryOperator::Create(), Diag(), clang::ExprError(), clang::Expr::IgnoreParens(), clang::UnaryOperator::isIncrementDecrementOp(), clang::Expr::isTypeDependent(), clang::OK_Ordinary, and clang::VK_PRValue.
ExprResult SemaPseudoObject::checkRValue | ( | Expr * | E | ) |
Definition at line 1450 of file SemaPseudoObject.cpp.
References clang::Expr::IgnoreParens().
Expr * SemaPseudoObject::recreateSyntacticForm | ( | PseudoObjectExpr * | E | ) |
Given a pseudo-object expression, recreate what it looks like syntactically without the attendant OpaqueValueExprs.
This is a hack which should be removed when TreeTransform is capable of rebuilding a tree without stripping implicit operations.
Definition at line 1561 of file SemaPseudoObject.cpp.
References clang::UnaryOperator::Create(), clang::BinaryOperator::Create(), clang::CompoundAssignOperator::Create(), clang::PseudoObjectExpr::getSyntacticForm(), clang::Expr::getType(), clang::Expr::hasPlaceholderType(), and stripOpaqueValuesFromPseudoObjectRef().