clang 22.0.0git
InterpHelpers.h File Reference
#include "DynamicAllocator.h"
#include "InterpState.h"
#include "Pointer.h"

Go to the source code of this file.

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::interp

Functions

bool clang::interp::Interpret (InterpState &S)
 Interpreter entry point.
bool clang::interp::InterpretBuiltin (InterpState &S, CodePtr OpPC, const CallExpr *Call, uint32_t BuiltinID)
 Interpret a builtin function.
bool clang::interp::InterpretOffsetOf (InterpState &S, CodePtr OpPC, const OffsetOfExpr *E, ArrayRef< int64_t > ArrayIndices, int64_t &Result)
 Interpret an offsetof operation.
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 Block *B, AccessKinds AK)
 Checks if a pointer is a dummy pointer.
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::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, AccessKinds AK=AK_Read)
 Checks if a value can be loaded from a block.
bool clang::interp::CheckNewDeleteForms (InterpState &S, CodePtr OpPC, DynamicAllocator::Form AllocForm, DynamicAllocator::Form DeleteForm, const Descriptor *D, const Expr *NewExpr)
 Diagnose mismatched new[]/delete or new/delete[] pairs.
bool clang::interp::DoMemcpy (InterpState &S, CodePtr OpPC, const Pointer &Src, Pointer &Dest)
 Copy the contents of Src into Dest.
template<typename T>
static bool clang::interp::handleOverflow (InterpState &S, CodePtr OpPC, const T &SrcValue)
bool clang::interp::CheckArraySize (InterpState &S, CodePtr OpPC, uint64_t NumElems)
static llvm::RoundingMode clang::interp::getRoundingMode (FPOptions FPO)
bool clang::interp::Invalid (InterpState &S, CodePtr OpPC)
template<typename SizeT>
bool clang::interp::CheckArraySize (InterpState &S, CodePtr OpPC, SizeT *NumElements, unsigned ElemSize, bool IsNoThrow)