|
template<typename T > |
bool | clang::interp::ReturnValue (const T &V, APValue &R) |
| Convert a value to an APValue.
|
|
bool | clang::interp::CheckExtern (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if the variable has externally defined storage.
|
|
bool | clang::interp::CheckArray (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if the array is offsetable.
|
|
bool | clang::interp::CheckLive (InterpState &S, CodePtr OpPC, const Pointer &Ptr, AccessKinds AK) |
| Checks if a pointer is live and accessible.
|
|
bool | clang::interp::CheckDummy (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if a pointer is a dummy pointer.
|
|
bool | clang::interp::CheckNull (InterpState &S, CodePtr OpPC, const Pointer &Ptr, CheckSubobjectKind CSK) |
| Checks if a pointer is null.
|
|
bool | clang::interp::CheckRange (InterpState &S, CodePtr OpPC, const Pointer &Ptr, AccessKinds AK) |
| Checks if a pointer is in range.
|
|
bool | clang::interp::CheckRange (InterpState &S, CodePtr OpPC, const Pointer &Ptr, CheckSubobjectKind CSK) |
| Checks if a field from which a pointer is going to be derived is valid.
|
|
bool | clang::interp::CheckSubobject (InterpState &S, CodePtr OpPC, const Pointer &Ptr, CheckSubobjectKind CSK) |
| Checks if Ptr is a one-past-the-end pointer.
|
|
bool | clang::interp::CheckConst (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if a pointer points to const storage.
|
|
bool | clang::interp::CheckMutable (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if a pointer points to a mutable field.
|
|
bool | clang::interp::CheckLoad (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if a value can be loaded from a block.
|
|
bool | clang::interp::CheckInitialized (InterpState &S, CodePtr OpPC, const Pointer &Ptr, AccessKinds AK) |
|
bool | clang::interp::CheckStore (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if a value can be stored in a block.
|
|
bool | clang::interp::CheckInvoke (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if a method can be invoked on an object.
|
|
bool | clang::interp::CheckInit (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if a value can be initialized.
|
|
bool | clang::interp::CheckCallable (InterpState &S, CodePtr OpPC, const Function *F) |
| Checks if a method can be called.
|
|
bool | clang::interp::CheckCallDepth (InterpState &S, CodePtr OpPC) |
| Checks if calling the currently active function would exceed the allowed call depth.
|
|
bool | clang::interp::CheckThis (InterpState &S, CodePtr OpPC, const Pointer &This) |
| Checks the 'this' pointer.
|
|
bool | clang::interp::CheckPure (InterpState &S, CodePtr OpPC, const CXXMethodDecl *MD) |
| Checks if a method is pure virtual.
|
|
bool | clang::interp::CheckCtorCall (InterpState &S, CodePtr OpPC, const Pointer &This) |
| Checks that all fields are initialized after a constructor call.
|
|
bool | clang::interp::CheckPotentialReinterpretCast (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
| Checks if reinterpret casts are legal in the current context.
|
|
bool | clang::interp::SetThreeWayComparisonField (InterpState &S, CodePtr OpPC, const Pointer &Ptr, const APSInt &IntValue) |
| Sets the given integral value to the pointer, which is of a std::{weak,partial,strong}_ordering type.
|
|
template<typename LT , typename RT > |
bool | clang::interp::CheckShift (InterpState &S, CodePtr OpPC, const LT &LHS, const RT &RHS, unsigned Bits) |
| Checks if the shift operation is legal.
|
|
template<typename T > |
bool | clang::interp::CheckDivRem (InterpState &S, CodePtr OpPC, const T &LHS, const T &RHS) |
| Checks if Div/Rem operation on LHS and RHS is valid.
|
|
bool | clang::interp::CheckFloatResult (InterpState &S, CodePtr OpPC, const Floating &Result, APFloat::opStatus Status) |
| Checks if the result of a floating-point operation is valid in the current context.
|
|
bool | clang::interp::CheckDeclRef (InterpState &S, CodePtr OpPC, const DeclRefExpr *DR) |
| We aleady know the given DeclRefExpr is invalid for some reason, now figure out why and print appropriate diagnostics.
|
|
bool | clang::interp::Interpret (InterpState &S, APValue &Result) |
| Interpreter entry point.
|
|
bool | clang::interp::InterpretBuiltin (InterpState &S, CodePtr OpPC, const Function *F, const CallExpr *Call) |
| Interpret a builtin function.
|
|
bool | clang::interp::InterpretOffsetOf (InterpState &S, CodePtr OpPC, const OffsetOfExpr *E, llvm::ArrayRef< int64_t > ArrayIndices, int64_t &Result) |
| Interpret an offsetof operation.
|
|
void | clang::interp::cleanupAfterFunctionCall (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Ret (InterpState &S, CodePtr &PC, APValue &Result) |
|
bool | clang::interp::RetVoid (InterpState &S, CodePtr &PC, APValue &Result) |
|
template<typename T , bool(*)(T, T, unsigned, T *) OpFW, template< typename U > class OpAP> |
bool | clang::interp::AddSubMulHelper (InterpState &S, CodePtr OpPC, unsigned Bits, const T &LHS, const T &RHS) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Add (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::Addf (InterpState &S, CodePtr OpPC, llvm::RoundingMode RM) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Sub (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::Subf (InterpState &S, CodePtr OpPC, llvm::RoundingMode RM) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Mul (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::Mulf (InterpState &S, CodePtr OpPC, llvm::RoundingMode RM) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::BitAnd (InterpState &S, CodePtr OpPC) |
| 1) Pops the RHS from the stack.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::BitOr (InterpState &S, CodePtr OpPC) |
| 1) Pops the RHS from the stack.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::BitXor (InterpState &S, CodePtr OpPC) |
| 1) Pops the RHS from the stack.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Rem (InterpState &S, CodePtr OpPC) |
| 1) Pops the RHS from the stack.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Div (InterpState &S, CodePtr OpPC) |
| 1) Pops the RHS from the stack.
|
|
bool | clang::interp::Divf (InterpState &S, CodePtr OpPC, llvm::RoundingMode RM) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Inv (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Neg (InterpState &S, CodePtr OpPC) |
|
template<typename T , IncDecOp Op, PushVal DoPush> |
bool | clang::interp::IncDecHelper (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Inc (InterpState &S, CodePtr OpPC) |
| 1) Pops a pointer from the stack 2) Load the value from the pointer 3) Writes the value increased by one back to the pointer 4) Pushes the original (pre-inc) value on the stack.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::IncPop (InterpState &S, CodePtr OpPC) |
| 1) Pops a pointer from the stack 2) Load the value from the pointer 3) Writes the value increased by one back to the pointer
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Dec (InterpState &S, CodePtr OpPC) |
| 1) Pops a pointer from the stack 2) Load the value from the pointer 3) Writes the value decreased by one back to the pointer 4) Pushes the original (pre-dec) value on the stack.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::DecPop (InterpState &S, CodePtr OpPC) |
| 1) Pops a pointer from the stack 2) Load the value from the pointer 3) Writes the value decreased by one back to the pointer
|
|
template<IncDecOp Op, PushVal DoPush> |
bool | clang::interp::IncDecFloatHelper (InterpState &S, CodePtr OpPC, const Pointer &Ptr, llvm::RoundingMode RM) |
|
bool | clang::interp::Incf (InterpState &S, CodePtr OpPC, llvm::RoundingMode RM) |
|
bool | clang::interp::IncfPop (InterpState &S, CodePtr OpPC, llvm::RoundingMode RM) |
|
bool | clang::interp::Decf (InterpState &S, CodePtr OpPC, llvm::RoundingMode RM) |
|
bool | clang::interp::DecfPop (InterpState &S, CodePtr OpPC, llvm::RoundingMode RM) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Comp (InterpState &S, CodePtr OpPC) |
| 1) Pops the value from the stack.
|
|
template<typename T > |
bool | clang::interp::CmpHelper (InterpState &S, CodePtr OpPC, CompareFn Fn) |
|
template<typename T > |
bool | clang::interp::CmpHelperEQ (InterpState &S, CodePtr OpPC, CompareFn Fn) |
|
template<> |
bool | clang::interp::CmpHelper< FunctionPointer > (InterpState &S, CodePtr OpPC, CompareFn Fn) |
| Function pointers cannot be compared in an ordered way.
|
|
template<> |
bool | clang::interp::CmpHelperEQ< FunctionPointer > (InterpState &S, CodePtr OpPC, CompareFn Fn) |
|
template<> |
bool | clang::interp::CmpHelper< Pointer > (InterpState &S, CodePtr OpPC, CompareFn Fn) |
|
template<> |
bool | clang::interp::CmpHelperEQ< Pointer > (InterpState &S, CodePtr OpPC, CompareFn Fn) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::EQ (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::CMP3 (InterpState &S, CodePtr OpPC, const ComparisonCategoryInfo *CmpInfo) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::NE (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::LT (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::LE (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::GT (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::GE (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InRange (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Dup (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Pop (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Const (InterpState &S, CodePtr OpPC, const T &Arg) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::GetLocal (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::SetLocal (InterpState &S, CodePtr OpPC, uint32_t I) |
| 1) Pops the value from the stack.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::GetParam (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::SetParam (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::GetField (InterpState &S, CodePtr OpPC, uint32_t I) |
| 1) Peeks a pointer on the stack 2) Pushes the value of the pointer's field on the stack
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::SetField (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::GetFieldPop (InterpState &S, CodePtr OpPC, uint32_t I) |
| 1) Pops a pointer from the stack 2) Pushes the value of the pointer's field on the stack
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::GetThisField (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::SetThisField (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::GetGlobal (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::SetGlobal (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitGlobal (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitGlobalTemp (InterpState &S, CodePtr OpPC, uint32_t I, const LifetimeExtendedTemporaryDecl *Temp) |
| 1) Converts the value on top of the stack to an APValue 2) Sets that APValue on \Temp 3) Initialized global with index \I with that
|
|
bool | clang::interp::InitGlobalTempComp (InterpState &S, CodePtr OpPC, const LifetimeExtendedTemporaryDecl *Temp) |
| 1) Converts the value on top of the stack to an APValue 2) Sets that APValue on \Temp 3) Initialized global with index \I with that
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitThisField (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitThisBitField (InterpState &S, CodePtr OpPC, const Record::Field *F) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitThisFieldActive (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitField (InterpState &S, CodePtr OpPC, uint32_t I) |
| 1) Pops the value from the stack 2) Peeks a pointer from the stack 3) Pushes the value to field I of the pointer on the stack
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitBitField (InterpState &S, CodePtr OpPC, const Record::Field *F) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitFieldActive (InterpState &S, CodePtr OpPC, uint32_t I) |
|
bool | clang::interp::GetPtrLocal (InterpState &S, CodePtr OpPC, uint32_t I) |
|
bool | clang::interp::GetPtrParam (InterpState &S, CodePtr OpPC, uint32_t I) |
|
bool | clang::interp::GetPtrGlobal (InterpState &S, CodePtr OpPC, uint32_t I) |
|
bool | clang::interp::GetPtrField (InterpState &S, CodePtr OpPC, uint32_t Off) |
| 1) Pops a Pointer from the stack 2) Pushes Pointer.atField(Off) on the stack
|
|
bool | clang::interp::GetPtrThisField (InterpState &S, CodePtr OpPC, uint32_t Off) |
|
bool | clang::interp::GetPtrActiveField (InterpState &S, CodePtr OpPC, uint32_t Off) |
|
bool | clang::interp::GetPtrActiveThisField (InterpState &S, CodePtr OpPC, uint32_t Off) |
|
bool | clang::interp::GetPtrDerivedPop (InterpState &S, CodePtr OpPC, uint32_t Off) |
|
bool | clang::interp::GetPtrBase (InterpState &S, CodePtr OpPC, uint32_t Off) |
|
bool | clang::interp::GetPtrBasePop (InterpState &S, CodePtr OpPC, uint32_t Off) |
|
bool | clang::interp::GetPtrThisBase (InterpState &S, CodePtr OpPC, uint32_t Off) |
|
bool | clang::interp::InitPtrPop (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::VirtBaseHelper (InterpState &S, CodePtr OpPC, const RecordDecl *Decl, const Pointer &Ptr) |
|
bool | clang::interp::GetPtrVirtBase (InterpState &S, CodePtr OpPC, const RecordDecl *D) |
|
bool | clang::interp::GetPtrThisVirtBase (InterpState &S, CodePtr OpPC, const RecordDecl *D) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Load (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::LoadPop (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Store (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::StorePop (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::StoreBitField (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::StoreBitFieldPop (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitPop (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitElem (InterpState &S, CodePtr OpPC, uint32_t Idx) |
| 1) Pops the value from the stack 2) Peeks a pointer and gets its index \Idx 3) Sets the value on the pointer, leaving the pointer on the stack.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::InitElemPop (InterpState &S, CodePtr OpPC, uint32_t Idx) |
| The same as InitElem, but pops the pointer as well.
|
|
template<class T , ArithOp Op> |
bool | clang::interp::OffsetHelper (InterpState &S, CodePtr OpPC, const T &Offset, const Pointer &Ptr) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::AddOffset (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::SubOffset (InterpState &S, CodePtr OpPC) |
|
template<ArithOp Op> |
static bool | clang::interp::IncDecPtrHelper (InterpState &S, CodePtr OpPC, const Pointer &Ptr) |
|
static bool | clang::interp::IncPtr (InterpState &S, CodePtr OpPC) |
|
static bool | clang::interp::DecPtr (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::SubPtr (InterpState &S, CodePtr OpPC) |
| 1) Pops a Pointer from the stack.
|
|
bool | clang::interp::Destroy (InterpState &S, CodePtr OpPC, uint32_t I) |
|
template<PrimType TIn, PrimType TOut> |
bool | clang::interp::Cast (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::CastFP (InterpState &S, CodePtr OpPC, const llvm::fltSemantics *Sem, llvm::RoundingMode RM) |
| 1) Pops a Floating from the stack.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::CastAP (InterpState &S, CodePtr OpPC, uint32_t BitWidth) |
| Like Cast(), but we cast to an arbitrary-bitwidth integral, so we need to know what bitwidth the result should be.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::CastAPS (InterpState &S, CodePtr OpPC, uint32_t BitWidth) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::CastIntegralFloating (InterpState &S, CodePtr OpPC, const llvm::fltSemantics *Sem, llvm::RoundingMode RM) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::CastFloatingIntegral (InterpState &S, CodePtr OpPC) |
|
static bool | clang::interp::CastFloatingIntegralAP (InterpState &S, CodePtr OpPC, uint32_t BitWidth) |
|
static bool | clang::interp::CastFloatingIntegralAPS (InterpState &S, CodePtr OpPC, uint32_t BitWidth) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::CastPointerIntegral (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Zero (InterpState &S, CodePtr OpPC) |
|
static bool | clang::interp::ZeroIntAP (InterpState &S, CodePtr OpPC, uint32_t BitWidth) |
|
static bool | clang::interp::ZeroIntAPS (InterpState &S, CodePtr OpPC, uint32_t BitWidth) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::Null (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::This (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::RVOPtr (InterpState &S, CodePtr OpPC) |
|
template<PrimType NameL, PrimType NameR> |
bool | clang::interp::Shr (InterpState &S, CodePtr OpPC) |
|
template<PrimType NameL, PrimType NameR> |
bool | clang::interp::Shl (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::NoRet (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::NarrowPtr (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::ExpandPtr (InterpState &S, CodePtr OpPC) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::ArrayElemPtr (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::ArrayDecay (InterpState &S, CodePtr OpPC) |
| Just takes a pointer and checks if its' an incomplete array type.
|
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::ArrayElemPtrPop (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::CheckGlobalCtor (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::Call (InterpState &S, CodePtr OpPC, const Function *Func) |
|
bool | clang::interp::CallVirt (InterpState &S, CodePtr OpPC, const Function *Func) |
|
bool | clang::interp::CallBI (InterpState &S, CodePtr &PC, const Function *Func, const CallExpr *CE) |
|
bool | clang::interp::CallPtr (InterpState &S, CodePtr OpPC) |
|
bool | clang::interp::GetFnPtr (InterpState &S, CodePtr OpPC, const Function *Func) |
|
bool | clang::interp::Invalid (InterpState &S, CodePtr OpPC) |
| Just emit a diagnostic.
|
|
bool | clang::interp::InvalidCast (InterpState &S, CodePtr OpPC, CastKind Kind) |
| Same here, but only for casts.
|
|
bool | clang::interp::InvalidDeclRef (InterpState &S, CodePtr OpPC, const DeclRefExpr *DR) |
|
template<PrimType Name, class T = typename PrimConv<Name>::T> |
bool | clang::interp::OffsetOf (InterpState &S, CodePtr OpPC, const OffsetOfExpr *E) |
|
template<typename T > |
T | clang::interp::ReadArg (InterpState &S, CodePtr &OpPC) |
|
template<> |
Floating | clang::interp::ReadArg< Floating > (InterpState &S, CodePtr &OpPC) |
|