diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-04-21 06:32:25 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-04-21 06:32:25 +0000 |
commit | 105dfb5a7236e34a2bc0c5ca5fcb81fd735bccf1 (patch) | |
tree | 0914a982be0ae288303f1efdb422b03fd9316b0d | |
parent | 1dcca8bd5e2a5553b94c19917747a8412b52064f (diff) | |
download | bcm5719-llvm-105dfb5a7236e34a2bc0c5ca5fcb81fd735bccf1.tar.gz bcm5719-llvm-105dfb5a7236e34a2bc0c5ca5fcb81fd735bccf1.zip |
CXXNamedCastExpr is actually an abstract expression.
llvm-svn: 101994
-rw-r--r-- | clang/include/clang/AST/Expr.h | 4 | ||||
-rw-r--r-- | clang/include/clang/AST/ExprCXX.h | 1 | ||||
-rw-r--r-- | clang/include/clang/AST/StmtNodes.def | 2 | ||||
-rw-r--r-- | clang/lib/AST/Expr.cpp | 1 | ||||
-rw-r--r-- | clang/lib/Checker/GRExprEngine.cpp | 1 | ||||
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 1 | ||||
-rw-r--r-- | clang/tools/CIndex/CXCursor.cpp | 1 |
7 files changed, 4 insertions, 7 deletions
diff --git a/clang/include/clang/AST/Expr.h b/clang/include/clang/AST/Expr.h index 88e87812d19..a2f5fd3ff9b 100644 --- a/clang/include/clang/AST/Expr.h +++ b/clang/include/clang/AST/Expr.h @@ -1679,7 +1679,7 @@ public: static bool classof(const Stmt *T) { StmtClass SC = T->getStmtClass(); - if (SC >= CXXNamedCastExprClass && SC <= CXXFunctionalCastExprClass) + if (SC >= CXXStaticCastExprClass && SC <= CXXFunctionalCastExprClass) return true; if (SC >= ImplicitCastExprClass && SC <= CStyleCastExprClass) @@ -1783,7 +1783,7 @@ public: StmtClass SC = T->getStmtClass(); if (SC >= CStyleCastExprClass && SC <= CStyleCastExprClass) return true; - if (SC >= CXXNamedCastExprClass && SC <= CXXFunctionalCastExprClass) + if (SC >= CXXStaticCastExprClass && SC <= CXXFunctionalCastExprClass) return true; return false; diff --git a/clang/include/clang/AST/ExprCXX.h b/clang/include/clang/AST/ExprCXX.h index 6e2e832e354..7f7f0858a14 100644 --- a/clang/include/clang/AST/ExprCXX.h +++ b/clang/include/clang/AST/ExprCXX.h @@ -137,7 +137,6 @@ public: } static bool classof(const Stmt *T) { switch (T->getStmtClass()) { - case CXXNamedCastExprClass: case CXXStaticCastExprClass: case CXXDynamicCastExprClass: case CXXReinterpretCastExprClass: diff --git a/clang/include/clang/AST/StmtNodes.def b/clang/include/clang/AST/StmtNodes.def index ec6149e55f1..4e80ecbad56 100644 --- a/clang/include/clang/AST/StmtNodes.def +++ b/clang/include/clang/AST/StmtNodes.def @@ -107,7 +107,7 @@ EXPR(GNUNullExpr , Expr) // C++ Expressions. EXPR(CXXOperatorCallExpr , CallExpr) EXPR(CXXMemberCallExpr , CallExpr) -EXPR(CXXNamedCastExpr , ExplicitCastExpr) +ABSTRACT_EXPR(CXXNamedCastExpr , ExplicitCastExpr) EXPR(CXXStaticCastExpr , CXXNamedCastExpr) EXPR(CXXDynamicCastExpr , CXXNamedCastExpr) EXPR(CXXReinterpretCastExpr , CXXNamedCastExpr) diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp index 71e8d072e49..e635b65841d 100644 --- a/clang/lib/AST/Expr.cpp +++ b/clang/lib/AST/Expr.cpp @@ -1999,7 +1999,6 @@ static ICEDiag CheckICE(const Expr* E, ASTContext &Ctx) { case Expr::ImplicitCastExprClass: case Expr::CStyleCastExprClass: case Expr::CXXFunctionalCastExprClass: - case Expr::CXXNamedCastExprClass: case Expr::CXXStaticCastExprClass: case Expr::CXXReinterpretCastExprClass: case Expr::CXXConstCastExprClass: { diff --git a/clang/lib/Checker/GRExprEngine.cpp b/clang/lib/Checker/GRExprEngine.cpp index 41e52436ce9..376f9fcd87c 100644 --- a/clang/lib/Checker/GRExprEngine.cpp +++ b/clang/lib/Checker/GRExprEngine.cpp @@ -591,7 +591,6 @@ void GRExprEngine::Visit(Stmt* S, ExplodedNode* Pred, ExplodedNodeSet& Dst) { case Stmt::CXXDefaultArgExprClass: case Stmt::CXXDependentScopeMemberExprClass: case Stmt::CXXExprWithTemporariesClass: - case Stmt::CXXNamedCastExprClass: case Stmt::CXXNullPtrLiteralExprClass: case Stmt::CXXPseudoDestructorExprClass: case Stmt::CXXTemporaryObjectExprClass: diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index ba714e88677..ca9198490e1 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -338,6 +338,7 @@ public: QualType ObjectType); OwningStmtResult TransformCompoundStmt(CompoundStmt *S, bool IsStmtExpr); + OwningExprResult TransformCXXNamedCastExpr(CXXNamedCastExpr *E); #define STMT(Node, Parent) \ OwningStmtResult Transform##Node(Node *S); diff --git a/clang/tools/CIndex/CXCursor.cpp b/clang/tools/CIndex/CXCursor.cpp index 036214e75f4..3bc5d01fbad 100644 --- a/clang/tools/CIndex/CXCursor.cpp +++ b/clang/tools/CIndex/CXCursor.cpp @@ -160,7 +160,6 @@ CXCursor cxcursor::MakeCXCursor(Stmt *S, Decl *Parent, ASTUnit *TU) { case Stmt::TypesCompatibleExprClass: case Stmt::ChooseExprClass: case Stmt::GNUNullExprClass: - case Stmt::CXXNamedCastExprClass: case Stmt::CXXStaticCastExprClass: case Stmt::CXXDynamicCastExprClass: case Stmt::CXXReinterpretCastExprClass: |