diff options
author | Chad Rosier <mcrosier@apple.com> | 2012-08-28 18:21:14 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2012-08-28 18:21:14 +0000 |
commit | f70b7e284ca2f95da2eba3870334a3246097f682 (patch) | |
tree | 493a8571b61fea044ba4788786a09a526537d0ac /clang/lib/AST/Stmt.cpp | |
parent | 595c131460e40b9e13e929d1198a9b8ec1c941aa (diff) | |
download | bcm5719-llvm-f70b7e284ca2f95da2eba3870334a3246097f682.tar.gz bcm5719-llvm-f70b7e284ca2f95da2eba3870334a3246097f682.zip |
[ms-inline asm] Use dyn_cast<> here to simplify logic.
llvm-svn: 162773
Diffstat (limited to 'clang/lib/AST/Stmt.cpp')
-rw-r--r-- | clang/lib/AST/Stmt.cpp | 54 |
1 files changed, 24 insertions, 30 deletions
diff --git a/clang/lib/AST/Stmt.cpp b/clang/lib/AST/Stmt.cpp index e486d05ef95..84622658d5e 100644 --- a/clang/lib/AST/Stmt.cpp +++ b/clang/lib/AST/Stmt.cpp @@ -322,56 +322,50 @@ bool Stmt::hasImplicitControlFlow() const { } std::string AsmStmt::generateAsmString(ASTContext &C) const { - StmtClass stmtClass = getStmtClass(); - if (stmtClass == Stmt::GCCAsmStmtClass) - return static_cast<const GCCAsmStmt*>(this)->generateAsmString(C); - if (stmtClass == Stmt::MSAsmStmtClass) - return static_cast<const MSAsmStmt*>(this)->generateAsmString(C); + if (const GCCAsmStmt *gccAsmStmt = dyn_cast<GCCAsmStmt>(this)) + return gccAsmStmt->generateAsmString(C); + if (const MSAsmStmt *msAsmStmt = dyn_cast<MSAsmStmt>(this)) + return msAsmStmt->generateAsmString(C); llvm_unreachable("unknown asm statement kind!"); } StringRef AsmStmt::getOutputConstraint(unsigned i) const { - StmtClass stmtClass = getStmtClass(); - if (stmtClass == Stmt::GCCAsmStmtClass) - return static_cast<const GCCAsmStmt*>(this)->getOutputConstraint(i); - if (stmtClass == Stmt::MSAsmStmtClass) - return static_cast<const MSAsmStmt*>(this)->getOutputConstraint(i); + if (const GCCAsmStmt *gccAsmStmt = dyn_cast<GCCAsmStmt>(this)) + return gccAsmStmt->getOutputConstraint(i); + if (const MSAsmStmt *msAsmStmt = dyn_cast<MSAsmStmt>(this)) + return msAsmStmt->getOutputConstraint(i); llvm_unreachable("unknown asm statement kind!"); } const Expr *AsmStmt::getOutputExpr(unsigned i) const { - StmtClass stmtClass = getStmtClass(); - if (stmtClass == Stmt::GCCAsmStmtClass) - return static_cast<const GCCAsmStmt*>(this)->getOutputExpr(i); - if (stmtClass == Stmt::MSAsmStmtClass) - return static_cast<const MSAsmStmt*>(this)->getOutputExpr(i); + if (const GCCAsmStmt *gccAsmStmt = dyn_cast<GCCAsmStmt>(this)) + return gccAsmStmt->getOutputExpr(i); + if (const MSAsmStmt *msAsmStmt = dyn_cast<MSAsmStmt>(this)) + return msAsmStmt->getOutputExpr(i); llvm_unreachable("unknown asm statement kind!"); } StringRef AsmStmt::getInputConstraint(unsigned i) const { - StmtClass stmtClass = getStmtClass(); - if (stmtClass == Stmt::GCCAsmStmtClass) - return static_cast<const GCCAsmStmt*>(this)->getInputConstraint(i); - if (stmtClass == Stmt::MSAsmStmtClass) - return static_cast<const MSAsmStmt*>(this)->getInputConstraint(i); + if (const GCCAsmStmt *gccAsmStmt = dyn_cast<GCCAsmStmt>(this)) + return gccAsmStmt->getInputConstraint(i); + if (const MSAsmStmt *msAsmStmt = dyn_cast<MSAsmStmt>(this)) + return msAsmStmt->getInputConstraint(i); llvm_unreachable("unknown asm statement kind!"); } const Expr *AsmStmt::getInputExpr(unsigned i) const { - StmtClass stmtClass = getStmtClass(); - if (stmtClass == Stmt::GCCAsmStmtClass) - return static_cast<const GCCAsmStmt*>(this)->getInputExpr(i); - if (stmtClass == Stmt::MSAsmStmtClass) - return static_cast<const MSAsmStmt*>(this)->getInputExpr(i); + if (const GCCAsmStmt *gccAsmStmt = dyn_cast<GCCAsmStmt>(this)) + return gccAsmStmt->getInputExpr(i); + if (const MSAsmStmt *msAsmStmt = dyn_cast<MSAsmStmt>(this)) + return msAsmStmt->getInputExpr(i); llvm_unreachable("unknown asm statement kind!"); } StringRef AsmStmt::getClobber(unsigned i) const { - StmtClass stmtClass = getStmtClass(); - if (stmtClass == Stmt::GCCAsmStmtClass) - return static_cast<const GCCAsmStmt*>(this)->getClobber(i); - if (stmtClass == Stmt::MSAsmStmtClass) - return static_cast<const MSAsmStmt*>(this)->getClobber(i); + if (const GCCAsmStmt *gccAsmStmt = dyn_cast<GCCAsmStmt>(this)) + return gccAsmStmt->getClobber(i); + if (const MSAsmStmt *msAsmStmt = dyn_cast<MSAsmStmt>(this)) + return msAsmStmt->getClobber(i); llvm_unreachable("unknown asm statement kind!"); } |