class MSAsmStmt

Declaration

class MSAsmStmt : public AsmStmt { /* full declaration omitted */ };

Description

This represents a Microsoft inline-assembly statement extension.

Declared at: clang/include/clang/AST/Stmt.h:3257

Inherits from: AsmStmt

Member Variables

private clang::SourceLocation LBraceLoc
private clang::SourceLocation EndLoc
private llvm::StringRef AsmStr
private unsigned int NumAsmToks = 0
private clang::Token* AsmToks = nullptr
private llvm::StringRef* Constraints = nullptr
private llvm::StringRef* Clobbers = nullptr

Inherited from AsmStmt:

protected AsmLoc
protected IsSimple
protected IsVolatile
protected NumOutputs
protected NumInputs
protected NumClobbers
protected Exprs = nullptr

Inherited from Stmt:

protected

Method Overview

  • public MSAsmStmt(clang::Stmt::EmptyShell Empty)
  • public MSAsmStmt(const clang::ASTContext & C, clang::SourceLocation asmloc, clang::SourceLocation lbraceloc, bool issimple, bool isvolatile, ArrayRef<clang::Token> asmtoks, unsigned int numoutputs, unsigned int numinputs, ArrayRef<llvm::StringRef> constraints, ArrayRef<clang::Expr *> exprs, llvm::StringRef asmstr, ArrayRef<llvm::StringRef> clobbers, clang::SourceLocation endloc)
  • public clang::Stmt::const_child_range children() const
  • public clang::Stmt::child_range children()
  • public static bool classof(const clang::Stmt * T)
  • public std::string generateAsmString(const clang::ASTContext & C) const
  • public ArrayRef<llvm::StringRef> getAllConstraints() const
  • public ArrayRef<clang::Expr *> getAllExprs() const
  • public llvm::StringRef getAsmString() const
  • public clang::Token * getAsmToks()
  • public clang::SourceLocation getBeginLoc() const
  • public llvm::StringRef getClobber(unsigned int i) const
  • public ArrayRef<llvm::StringRef> getClobbers() const
  • public clang::SourceLocation getEndLoc() const
  • public llvm::StringRef getInputConstraint(unsigned int i) const
  • public clang::Expr * getInputExpr(unsigned int i)
  • public const clang::Expr * getInputExpr(unsigned int i) const
  • public clang::SourceLocation getLBraceLoc() const
  • public unsigned int getNumAsmToks()
  • public llvm::StringRef getOutputConstraint(unsigned int i) const
  • public const clang::Expr * getOutputExpr(unsigned int i) const
  • public clang::Expr * getOutputExpr(unsigned int i)
  • public bool hasBraces() const
  • private void initialize(const clang::ASTContext & C, llvm::StringRef AsmString, ArrayRef<clang::Token> AsmToks, ArrayRef<llvm::StringRef> Constraints, ArrayRef<clang::Expr *> Exprs, ArrayRef<llvm::StringRef> Clobbers)
  • public void setEndLoc(clang::SourceLocation L)
  • public void setInputExpr(unsigned int i, clang::Expr * E)
  • public void setLBraceLoc(clang::SourceLocation L)

Inherited from AsmStmt:

Inherited from Stmt:

Methods

MSAsmStmt(clang::Stmt::EmptyShell Empty)

Description

Build an empty MS-style inline-assembly statement.

Declared at: clang/include/clang/AST/Stmt.h:3278

Parameters

clang::Stmt::EmptyShell Empty

MSAsmStmt(const clang::ASTContext& C,
          clang::SourceLocation asmloc,
          clang::SourceLocation lbraceloc,
          bool issimple,
          bool isvolatile,
          ArrayRef<clang::Token> asmtoks,
          unsigned int numoutputs,
          unsigned int numinputs,
          ArrayRef<llvm::StringRef> constraints,
          ArrayRef<clang::Expr*> exprs,
          llvm::StringRef asmstr,
          ArrayRef<llvm::StringRef> clobbers,
          clang::SourceLocation endloc)

Declared at: clang/include/clang/AST/Stmt.h:3270

Parameters

const clang::ASTContext& C
clang::SourceLocation asmloc
clang::SourceLocation lbraceloc
bool issimple
bool isvolatile
ArrayRef<clang::Token> asmtoks
unsigned int numoutputs
unsigned int numinputs
ArrayRef<llvm::StringRef> constraints
ArrayRef<clang::Expr*> exprs
llvm::StringRef asmstr
ArrayRef<llvm::StringRef> clobbers
clang::SourceLocation endloc

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/Stmt.h:3356

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/Stmt.h:3352

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/Stmt.h:3348

Parameters

const clang::Stmt* T

std::string generateAsmString(
    const clang::ASTContext& C) const

Description

Assemble final IR asm string.

Declared at: clang/include/clang/AST/Stmt.h:3294

Parameters

const clang::ASTContext& C

ArrayRef<llvm::StringRef> getAllConstraints()
    const

Declared at: clang/include/clang/AST/Stmt.h:3325

ArrayRef<clang::Expr*> getAllExprs() const

Declared at: clang/include/clang/AST/Stmt.h:3333

llvm::StringRef getAsmString() const

Declared at: clang/include/clang/AST/Stmt.h:3291

clang::Token* getAsmToks()

Declared at: clang/include/clang/AST/Stmt.h:3288

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/Stmt.h:3346

llvm::StringRef getClobber(unsigned int i) const

Declared at: clang/include/clang/AST/Stmt.h:3338

Parameters

unsigned int i

ArrayRef<llvm::StringRef> getClobbers() const

Declared at: clang/include/clang/AST/Stmt.h:3329

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/Stmt.h:3282

llvm::StringRef getInputConstraint(
    unsigned int i) const

Declared at: clang/include/clang/AST/Stmt.h:3311

Parameters

unsigned int i

clang::Expr* getInputExpr(unsigned int i)

Declared at: clang/include/clang/AST/Stmt.h:3316

Parameters

unsigned int i

const clang::Expr* getInputExpr(
    unsigned int i) const

Declared at: clang/include/clang/AST/Stmt.h:3319

Parameters

unsigned int i

clang::SourceLocation getLBraceLoc() const

Declared at: clang/include/clang/AST/Stmt.h:3280

unsigned int getNumAsmToks()

Declared at: clang/include/clang/AST/Stmt.h:3287

llvm::StringRef getOutputConstraint(
    unsigned int i) const

Declared at: clang/include/clang/AST/Stmt.h:3298

Parameters

unsigned int i

const clang::Expr* getOutputExpr(
    unsigned int i) const

Declared at: clang/include/clang/AST/Stmt.h:3305

Parameters

unsigned int i

clang::Expr* getOutputExpr(unsigned int i)

Declared at: clang/include/clang/AST/Stmt.h:3303

Parameters

unsigned int i

bool hasBraces() const

Declared at: clang/include/clang/AST/Stmt.h:3285

void initialize(
    const clang::ASTContext& C,
    llvm::StringRef AsmString,
    ArrayRef<clang::Token> AsmToks,
    ArrayRef<llvm::StringRef> Constraints,
    ArrayRef<clang::Expr*> Exprs,
    ArrayRef<llvm::StringRef> Clobbers)

Declared at: clang/include/clang/AST/Stmt.h:3341

Parameters

const clang::ASTContext& C
llvm::StringRef AsmString
ArrayRef<clang::Token> AsmToks
ArrayRef<llvm::StringRef> Constraints
ArrayRef<clang::Expr*> Exprs
ArrayRef<llvm::StringRef> Clobbers

void setEndLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Stmt.h:3283

Parameters

clang::SourceLocation L

void setInputExpr(unsigned int i, clang::Expr* E)

Declared at: clang/include/clang/AST/Stmt.h:3317

Parameters

unsigned int i
clang::Expr* E

void setLBraceLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Stmt.h:3281

Parameters

clang::SourceLocation L