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_1sema_1_1FunctionScopeInfo.html below:

clang: clang::sema::FunctionScopeInfo Class Reference

Retains information about a function, method, or block that is currently being parsed. More...

#include "clang/Sema/ScopeInfo.h"

ScopeKind  Kind: 3   What kind of scope we are describing.
  bool  HasBranchProtectedScope: 1   Whether this function contains a VLA, @try, try, C++ initializer, or anything else that can't be jumped past.
  bool  HasBranchIntoScope: 1   Whether this function contains any switches or direct gotos.
  bool  HasIndirectGoto: 1   Whether this function contains any indirect gotos.
  bool  HasMustTail: 1   Whether this function contains any statement marked with [[clang::musttail]].
  bool  HasDroppedStmt: 1   Whether a statement was dropped because it was invalid.
  bool  HasOMPDeclareReductionCombiner: 1   True if current scope is for OpenMP declare reduction combiner.
  bool  HasFallthroughStmt: 1   Whether there is a fallthrough statement in this function.
  bool  UsesFPIntrin: 1   Whether this function uses constrained floating point intrinsics.
  bool  HasPotentialAvailabilityViolations: 1   Whether we make reference to a declaration that could be unavailable.
  bool  ObjCShouldCallSuper: 1   A flag that is set when parsing a method that must call super's implementation, such as -dealloc, -finalize, or any method marked with __attribute__((objc_requires_super)).
  bool  ObjCIsDesignatedInit: 1   True when this is a method marked as a designated initializer.
  bool  ObjCWarnForNoDesignatedInitChain: 1   This starts true for a method marked as designated initializer and will be set to false if there is an invocation to a designated initializer of the super class.
  bool  ObjCIsSecondaryInit: 1   True when this is an initializer method not marked as a designated initializer within a class that has at least one initializer marked as a designated initializer.
  bool  ObjCWarnForNoInitDelegation: 1   This starts true for a secondary initializer method and will be set to false if there is an invocation of an initializer on 'self'.
  bool  NeedsCoroutineSuspends: 1   True only when this function has not already built, or attempted to build, the initial and final coroutine suspend points.
  unsigned char  FirstCoroutineStmtKind: 2   An enumeration representing the kind of the first coroutine statement in the function.
  bool  FoundImmediateEscalatingExpression: 1   Whether we found an immediate-escalating expression.
  SourceLocation  FirstCoroutineStmtLoc   First coroutine statement in the current function.
  SourceLocation  FirstReturnLoc   First 'return' statement in the current function.
  SourceLocation  FirstCXXOrObjCTryLoc   First C++ 'try' or ObjC @try statement in the current function.
  enum clang::sema::FunctionScopeInfo:: { ... }   FirstTryType = Unknown   SourceLocation  FirstSEHTryLoc   First SEH '__try' statement in the current function.
  SourceLocation  FirstVLALoc   First use of a VLA within the current function.
  SmallVector< SwitchInfo, 8 >  SwitchStack   SwitchStack - This is the current set of active switch statements in the block.
  SmallVector< ReturnStmt *, 4 >  Returns   The list of return statements that occur within the function or block, if there is any chance of applying the named return value optimization, or if we need to infer a return type.
  VarDeclCoroutinePromise = nullptr   The promise object for this coroutine, if any.
  llvm::SmallMapVector< ParmVarDecl *, Stmt *, 4 >  CoroutineParameterMoves   A mapping between the coroutine function parameters that were moved to the coroutine frame, and their move statements.
  std::pair< Stmt *, Stmt * >  CoroutineSuspends   The initial and final coroutine suspend points.
  SmallVector< CompoundScopeInfo, 4 >  CompoundScopes   The stack of currently active compound statement scopes in the function.
  llvm::SmallPtrSet< const BlockDecl *, 1 >  Blocks   The set of blocks that are introduced in this function.
  llvm::TinyPtrVector< VarDecl * >  ByrefBlockVars   The set of __block variables that are introduced in this function.
  SmallVector< PossiblyUnreachableDiag, 4 >  PossiblyUnreachableDiags   A list of PartialDiagnostics created but delayed within the current function scope.
  llvm::SmallPtrSet< const ParmVarDecl *, 8 >  ModifiedNonNullParams   A list of parameters which have the nonnull attribute and are modified in the function.
  llvm::SmallVector< AddrLabelExpr *, 4 >  AddrLabels   The set of GNU address of label extension "&&label".
 

Retains information about a function, method, or block that is currently being parsed.

Definition at line 104 of file ScopeInfo.h.

◆ SwitchInfo

A SwitchStmt, along with a flag indicating if its list of case statements is incomplete (because we dropped an invalid one while parsing).

Definition at line 205 of file ScopeInfo.h.

◆ WeakObjectUseMap

Used to collect all uses of weak objects in a function body.

Part of the implementation of -Wrepeated-use-of-weak.

Definition at line 378 of file ScopeInfo.h.

◆ WeakUseVector

Used to collect uses of a particular weak object in a function body.

Part of the implementation of -Wrepeated-use-of-weak.

Definition at line 373 of file ScopeInfo.h.

◆ anonymous enum Enumerator TryLocIsCXX  TryLocIsObjC  Unknown 

Definition at line 190 of file ScopeInfo.h.

◆ ScopeKind Enumerator SK_Function  SK_Block  SK_Lambda  SK_CapturedRegion 

Definition at line 106 of file ScopeInfo.h.

◆ FunctionScopeInfo() [1/2] ◆ FunctionScopeInfo() [2/2] ◆ ~FunctionScopeInfo() FunctionScopeInfo::~FunctionScopeInfo ( ) virtual

Definition at line 259 of file ScopeInfo.cpp.

◆ addBlock() void clang::sema::FunctionScopeInfo::addBlock ( const BlockDeclBD ) inline ◆ addByrefBlockVar() void clang::sema::FunctionScopeInfo::addByrefBlockVar ( VarDeclVD ) inline ◆ Clear() void FunctionScopeInfo::Clear ( )

Clear out the information in this function scope, making it suitable for reuse.

Definition at line 24 of file ScopeInfo.cpp.

References AddrLabels, Blocks, ByrefBlockVars, CoroutineParameterMoves, CoroutinePromise, CoroutineSuspends, FirstCoroutineStmtLoc, FirstCXXOrObjCTryLoc, FirstReturnLoc, FirstSEHTryLoc, FirstVLALoc, FoundImmediateEscalatingExpression, HasBranchIntoScope, HasBranchProtectedScope, HasDroppedStmt, HasFallthroughStmt, HasIndirectGoto, HasOMPDeclareReductionCombiner, HasPotentialAvailabilityViolations, ModifiedNonNullParams, NeedsCoroutineSuspends, ObjCIsDesignatedInit, ObjCIsSecondaryInit, ObjCShouldCallSuper, ObjCWarnForNoDesignatedInitChain, ObjCWarnForNoInitDelegation, PossiblyUnreachableDiags, clang::DiagnosticErrorTrap::reset(), Returns, SwitchStack, and UsesFPIntrin.

◆ getFirstCoroutineStmtKeyword() StringRef clang::sema::FunctionScopeInfo::getFirstCoroutineStmtKeyword ( ) const inline ◆ getWeakObjectUses() const WeakObjectUseMap & clang::sema::FunctionScopeInfo::getWeakObjectUses ( ) const inline ◆ hasInvalidCoroutineSuspends() bool clang::sema::FunctionScopeInfo::hasInvalidCoroutineSuspends ( ) const inline ◆ hasUnrecoverableErrorOccurred() bool clang::sema::FunctionScopeInfo::hasUnrecoverableErrorOccurred ( ) const inline

Determine whether an unrecoverable error has occurred within this function.

Note that this may return false even if the function body is invalid, because the errors may be suppressed if they're caused by prior invalid declarations.

FIXME: Migrate the caller of this to use containsErrors() instead once it's ready.

Definition at line 412 of file ScopeInfo.h.

References clang::DiagnosticErrorTrap::hasUnrecoverableErrorOccurred().

◆ isCoroutine() bool clang::sema::FunctionScopeInfo::isCoroutine ( ) const inline ◆ isPlainFunction() bool clang::sema::FunctionScopeInfo::isPlainFunction ( ) const inline ◆ markSafeWeakUse() void FunctionScopeInfo::markSafeWeakUse ( const ExprE ) ◆ NeedsScopeChecking() bool clang::sema::FunctionScopeInfo::NeedsScopeChecking ( ) const inline ◆ recordUseOfWeak() [1/2]

template<typename ExprT >

void clang::sema::FunctionScopeInfo::recordUseOfWeak ( const ExprT *  E, bool  IsRead = true  ) inline ◆ recordUseOfWeak() [2/2] ◆ setCoroutineSuspends() void clang::sema::FunctionScopeInfo::setCoroutineSuspends ( StmtInitial, StmtFinal  ) inline ◆ setFirstCoroutineStmt() void clang::sema::FunctionScopeInfo::setFirstCoroutineStmt ( SourceLocation  Loc, StringRef  Keyword  ) inline ◆ setHasBranchIntoScope() void clang::sema::FunctionScopeInfo::setHasBranchIntoScope ( ) inline ◆ setHasBranchProtectedScope() void clang::sema::FunctionScopeInfo::setHasBranchProtectedScope ( ) inline ◆ setHasCXXTry() void clang::sema::FunctionScopeInfo::setHasCXXTry ( SourceLocation  TryLoc ) inline ◆ setHasDroppedStmt() void clang::sema::FunctionScopeInfo::setHasDroppedStmt ( ) inline ◆ setHasFallthroughStmt() void clang::sema::FunctionScopeInfo::setHasFallthroughStmt ( ) inline ◆ setHasIndirectGoto() void clang::sema::FunctionScopeInfo::setHasIndirectGoto ( ) inline ◆ setHasMustTail() void clang::sema::FunctionScopeInfo::setHasMustTail ( ) inline ◆ setHasObjCTry() void clang::sema::FunctionScopeInfo::setHasObjCTry ( SourceLocation  TryLoc ) inline ◆ setHasOMPDeclareReductionCombiner() void clang::sema::FunctionScopeInfo::setHasOMPDeclareReductionCombiner ( ) inline ◆ setHasSEHTry() void clang::sema::FunctionScopeInfo::setHasSEHTry ( SourceLocation  TryLoc ) inline ◆ setHasVLA() void clang::sema::FunctionScopeInfo::setHasVLA ( SourceLocation  VLALoc ) inline ◆ setNeedsCoroutineSuspends() void clang::sema::FunctionScopeInfo::setNeedsCoroutineSuspends ( bool  value = true ) inline ◆ setUsesFPIntrin() void clang::sema::FunctionScopeInfo::setUsesFPIntrin ( ) inline ◆ AddrLabels ◆ Blocks ◆ ByrefBlockVars llvm::TinyPtrVector<VarDecl *> clang::sema::FunctionScopeInfo::ByrefBlockVars ◆ CompoundScopes ◆ CoroutineParameterMoves llvm::SmallMapVector<ParmVarDecl *, Stmt *, 4> clang::sema::FunctionScopeInfo::CoroutineParameterMoves

A mapping between the coroutine function parameters that were moved to the coroutine frame, and their move statements.

Definition at line 221 of file ScopeInfo.h.

Referenced by Clear().

◆ CoroutinePromise VarDecl* clang::sema::FunctionScopeInfo::CoroutinePromise = nullptr ◆ CoroutineSuspends std::pair<Stmt *, Stmt *> clang::sema::FunctionScopeInfo::CoroutineSuspends ◆ FirstCoroutineStmtKind unsigned char clang::sema::FunctionScopeInfo::FirstCoroutineStmtKind ◆ FirstCoroutineStmtLoc ◆ FirstCXXOrObjCTryLoc ◆ FirstReturnLoc ◆ FirstSEHTryLoc ◆  ◆ FirstVLALoc ◆ FoundImmediateEscalatingExpression bool clang::sema::FunctionScopeInfo::FoundImmediateEscalatingExpression ◆ HasBranchIntoScope bool clang::sema::FunctionScopeInfo::HasBranchIntoScope ◆ HasBranchProtectedScope bool clang::sema::FunctionScopeInfo::HasBranchProtectedScope ◆ HasDroppedStmt bool clang::sema::FunctionScopeInfo::HasDroppedStmt ◆ HasFallthroughStmt bool clang::sema::FunctionScopeInfo::HasFallthroughStmt ◆ HasIndirectGoto bool clang::sema::FunctionScopeInfo::HasIndirectGoto ◆ HasMustTail bool clang::sema::FunctionScopeInfo::HasMustTail ◆ HasOMPDeclareReductionCombiner bool clang::sema::FunctionScopeInfo::HasOMPDeclareReductionCombiner ◆ HasPotentialAvailabilityViolations bool clang::sema::FunctionScopeInfo::HasPotentialAvailabilityViolations ◆ Kind ScopeKind clang::sema::FunctionScopeInfo::Kind ◆ ModifiedNonNullParams

A list of parameters which have the nonnull attribute and are modified in the function.

Definition at line 243 of file ScopeInfo.h.

Referenced by Clear().

◆ NeedsCoroutineSuspends bool clang::sema::FunctionScopeInfo::NeedsCoroutineSuspends ◆ ObjCIsDesignatedInit bool clang::sema::FunctionScopeInfo::ObjCIsDesignatedInit ◆ ObjCIsSecondaryInit bool clang::sema::FunctionScopeInfo::ObjCIsSecondaryInit ◆ ObjCShouldCallSuper bool clang::sema::FunctionScopeInfo::ObjCShouldCallSuper ◆ ObjCWarnForNoDesignatedInitChain bool clang::sema::FunctionScopeInfo::ObjCWarnForNoDesignatedInitChain ◆ ObjCWarnForNoInitDelegation bool clang::sema::FunctionScopeInfo::ObjCWarnForNoInitDelegation ◆ PossiblyUnreachableDiags ◆ Returns ◆ SwitchStack ◆ UsesFPIntrin bool clang::sema::FunctionScopeInfo::UsesFPIntrin

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