clang 20.0.0git
Namespaces | Macros | Functions
Interp.cpp File Reference
#include "Interp.h"
#include "Function.h"
#include "InterpFrame.h"
#include "InterpShared.h"
#include "InterpStack.h"
#include "Opcode.h"
#include "PrimType.h"
#include "Program.h"
#include "State.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/Basic/DiagnosticSema.h"
#include "clang/Basic/TargetInfo.h"
#include "llvm/ADT/StringExtras.h"
#include "Opcodes.inc"

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
 

Macros

#define GET_INTERP
 

Functions

static bool RetValue (InterpState &S, CodePtr &Pt)
 
static bool Jmp (InterpState &S, CodePtr &PC, int32_t Offset)
 
static bool Jt (InterpState &S, CodePtr &PC, int32_t Offset)
 
static bool Jf (InterpState &S, CodePtr &PC, int32_t Offset)
 
static void diagnoseMissingInitializer (InterpState &S, CodePtr OpPC, const ValueDecl *VD)
 
static void diagnoseNonConstVariable (InterpState &S, CodePtr OpPC, const ValueDecl *VD)
 
static bool diagnoseUnknownDecl (InterpState &S, CodePtr OpPC, const ValueDecl *D)
 
static bool CheckActive (InterpState &S, CodePtr OpPC, const Pointer &Ptr, AccessKinds AK)
 
static bool CheckTemporary (InterpState &S, CodePtr OpPC, const Pointer &Ptr, AccessKinds AK)
 
static bool CheckGlobal (InterpState &S, CodePtr OpPC, const Pointer &Ptr)
 
static void clang::interp::popArg (InterpState &S, const Expr *Arg)
 
void clang::interp::cleanupAfterFunctionCall (InterpState &S, CodePtr OpPC, const Function *Func)
 
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::CheckConstant (InterpState &S, CodePtr OpPC, const Descriptor *Desc)
 Checks if the Descriptor is of a constexpr or const global variable.
 
static bool clang::interp::CheckConstant (InterpState &S, CodePtr OpPC, const Pointer &Ptr)
 
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,