Holds all information required to evaluate constexpr code in a module. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Context.h"
Holds all information required to evaluate constexpr code in a module.
Definition at line 40 of file Context.h.
◆ Context()Initialises the constexpr VM.
Definition at line 24 of file Context.cpp.
◆ ~Context()Cleans up the constexpr VM.
Definition at line 26 of file Context.cpp.
◆ classify() [1/2] std::optional< PrimType > clang::interp::Context::classify ( const Expr * E ) const inline ◆ classify() [2/2]Classifies a type.
Definition at line 132 of file Context.cpp.
References classify(), clang::Type::getAs(), clang::ASTContext::getIntWidth(), clang::Type::isAnyComplexType(), clang::Type::isBlockPointerType(), clang::Type::isBooleanType(), clang::Type::isFixedPointType(), clang::Type::isFloatingType(), clang::Type::isFunctionPointerType(), clang::Type::isFunctionReferenceType(), clang::Type::isFunctionType(), clang::Type::isMemberPointerType(), clang::Type::isNullPtrType(), clang::Type::isObjCObjectPointerType(), clang::Type::isPointerOrReferenceType(), clang::Type::isSignedIntegerOrEnumerationType(), clang::Type::isSpecificBuiltinType(), clang::Type::isUnsignedIntegerOrEnumerationType(), clang::Type::isVectorType(), clang::interp::PT_Bool, clang::interp::PT_FixedPoint, clang::interp::PT_Float, clang::interp::PT_FnPtr, clang::interp::PT_IntAP, clang::interp::PT_IntAPS, clang::interp::PT_MemberPtr, clang::interp::PT_Ptr, clang::interp::PT_Sint16, clang::interp::PT_Sint32, clang::interp::PT_Sint64, clang::interp::PT_Sint8, clang::interp::PT_Uint16, clang::interp::PT_Uint32, clang::interp::PT_Uint64, clang::interp::PT_Uint8, and clang::T.
Referenced by clang::interp::Compiler< Emitter >::classify(), classify(), clang::interp::ByteCodeEmitter::compileFunc(), clang::interp::ByteCodeEmitter::compileObjCBlock(), clang::interp::Program::createDescriptor(), clang::interp::InterpFrame::describe(), clang::interp::Program::getOrCreateDummy(), and clang::interp::Program::getOrCreateRecord().
◆ collectBaseOffset() ◆ evaluate() ◆ evaluateAsInitializer()Evaluates a toplevel initializer.
Definition at line 98 of file Context.cpp.
References clang::C, clang::interp::CheckGlobalInitialized(), clang::interp::InterpStack::clearTo(), clang::interp::InterpStack::empty(), clang::ValueDecl::getType(), clang::Type::isArrayType(), clang::Type::isRecordType(), Parent, clang::Result, shouldBeGloballyIndexed(), and clang::interp::InterpStack::size().
◆ evaluateAsRValue() ◆ getASTContext() ASTContext & clang::interp::Context::getASTContext ( ) const inline ◆ getBitWidth() uint32_t clang::interp::Context::getBitWidth ( QualType T ) const inline ◆ getCharBit() ◆ getEvalID() unsigned clang::interp::Context::getEvalID ( ) const inline ◆ getFloatSemantics() const llvm::fltSemantics & Context::getFloatSemantics ( QualType T ) const ◆ getLangOpts() ◆ getOrCreateFunction() ◆ getOverridingFunction() ◆ getProgram() Program & clang::interp::Context::getProgram ( ) const inlineReturns the program. This is only needed for unittests.
Definition at line 106 of file Context.h.
◆ getRecord() ◆ getStack()Returns the interpreter stack.
Definition at line 66 of file Context.h.
◆ isPotentialConstantExpr() ◆ shouldBeGloballyIndexed() static bool clang::interp::Context::shouldBeGloballyIndexed ( const ValueDecl * VD ) inlinestaticThe documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4