A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1interp_1_1Context.html below:

clang: clang::interp::Context Class Reference

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"

  Context (ASTContext &Ctx)   Initialises the constexpr VM.
    ~Context ()   Cleans up the constexpr VM.
  bool  isPotentialConstantExpr (State &Parent, const FunctionDecl *FnDecl)   Checks if a function is a potential constant expression.
  bool  evaluateAsRValue (State &Parent, const Expr *E, APValue &Result)   Evaluates a toplevel expression as an rvalue.
  bool  evaluate (State &Parent, const Expr *E, APValue &Result, ConstantExprKind Kind)   Like evaluateAsRvalue(), but does no implicit lvalue-to-rvalue conversion.
  bool  evaluateAsInitializer (State &Parent, const VarDecl *VD, APValue &Result)   Evaluates a toplevel initializer.
  ASTContextgetASTContext () const   Returns the AST context.
  const LangOptionsgetLangOpts () const   Returns the language options.
  InterpStackgetStack ()   Returns the interpreter stack.
  unsigned  getCharBit () const   Returns CHAR_BIT.
  const llvm::fltSemantics &  getFloatSemantics (QualType T) const   Return the floating-point semantics for T.
  uint32_t  getBitWidth (QualType T) const   Return the size of T in bits.
  std::optional< PrimTypeclassify (QualType T) const   Classifies a type.
  std::optional< PrimTypeclassify (const Expr *E) const   Classifies an expression.
  const CXXMethodDeclgetOverridingFunction (const CXXRecordDecl *DynamicDecl, const CXXRecordDecl *StaticDecl, const CXXMethodDecl *InitialFunction) const   const FunctiongetOrCreateFunction (const FunctionDecl *FD)   ProgramgetProgram () const   Returns the program. This is only needed for unittests.
  unsigned  collectBaseOffset (const RecordDecl *BaseDecl, const RecordDecl *DerivedDecl) const   const RecordgetRecord (const RecordDecl *D) const   unsigned  getEvalID () const  

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 ExprE ) 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 inline

Returns 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 ValueDeclVD ) inlinestatic

The 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