class Goto

Declaration

class Goto : public Terminator { /* full declaration omitted */ };

Description

Jump to another basic block. A goto instruction is essentially a tail-recursive call into another block. In addition to the block pointer, it specifies an index into the phi nodes of that block. The index can be used to retrieve the "arguments" of the call.

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1369

Inherits from: Terminator

Member Variables

private clang::threadSafety::til::BasicBlock* TargetBlock
private unsigned int Index

Inherited from SExpr:

protected Opcode
protected Reserved = 0
protected Flags = 0
protected SExprID = 0
protected Block = nullptr

Method Overview

  • public Goto(clang::threadSafety::til::BasicBlock * B, unsigned int I)
  • public Goto(const clang::threadSafety::til::Goto & G, clang::threadSafety::til::BasicBlock * B, unsigned int I)
  • public static bool classof(const clang::threadSafety::til::SExpr * E)
  • public template <class C>typename C::CType compare(const clang::threadSafety::til::Goto * E, C & Cmp) const
  • public unsigned int index() const
  • public ArrayRef<clang::threadSafety::til::BasicBlock *> successors()
  • public const clang::threadSafety::til::BasicBlock * targetBlock() const
  • public clang::threadSafety::til::BasicBlock * targetBlock()
  • public template <class V>typename V::R_SExpr traverse(V & Vs, typename V::R_Ctx Ctx)

Inherited from Terminator:

Inherited from SExpr:

Methods

Goto(clang::threadSafety::til::BasicBlock* B,
     unsigned int I)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1371

Parameters

clang::threadSafety::til::BasicBlock* B
unsigned int I

Goto(const clang::threadSafety::til::Goto& G,
     clang::threadSafety::til::BasicBlock* B,
     unsigned int I)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1373

Parameters

const clang::threadSafety::til::Goto& G
clang::threadSafety::til::BasicBlock* B
unsigned int I

static bool classof(
    const clang::threadSafety::til::SExpr* E)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1376

Parameters

const clang::threadSafety::til::SExpr* E

template <class C>
typename C::CType compare(
    const clang::threadSafety::til::Goto* E,
    C& Cmp) const

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1394

Templates

C

Parameters

const clang::threadSafety::til::Goto* E
C& Cmp

unsigned int index() const

Description

Returns the index into the

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1382

ArrayRef<clang::threadSafety::til::BasicBlock*>
successors()

Description

Return the list of basic blocks that this terminator can branch to.

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1385

const clang::threadSafety::til::BasicBlock*
targetBlock() const

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1378

clang::threadSafety::til::BasicBlock*
targetBlock()

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1379

template <class V>
typename V::R_SExpr traverse(
    V& Vs,
    typename V::R_Ctx Ctx)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1388

Templates

V

Parameters

V& Vs
typename V::R_Ctx Ctx