]> granicus.if.org Git - clang/commitdiff
Switch over the tablegen to use much prettier range technology
authorSean Hunt <rideau3@gmail.com>
Tue, 18 May 2010 06:22:21 +0000 (06:22 +0000)
committerSean Hunt <rideau3@gmail.com>
Tue, 18 May 2010 06:22:21 +0000 (06:22 +0000)
Also rename ABSTRACT to ABSTRACT_STMT, in keeping with the other .def
files

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104017 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/RecursiveASTVisitor.h
include/clang/AST/Stmt.h
include/clang/AST/StmtVisitor.h
lib/AST/Stmt.cpp
lib/Sema/TreeTransform.h

index 1b2f3a79ddb933d33adf3fdfbb7055180ed53bbb..9762a8361536508dfbeb0a4010ed3b1f862c9687 100644 (file)
@@ -240,7 +240,7 @@ DISPATCH(UnaryOperator, UnaryOperator, S);    \
     // Top switch stmt: dispatch to VisitFooStmt for each FooStmt.
     switch (S->getStmtClass()) {
     case Stmt::NoStmtClass: break;
-#define ABSTRACT(STMT)
+#define ABSTRACT_STMT(STMT)
 #define STMT(CLASS, PARENT)                              \
 case Stmt::CLASS ## Class: DISPATCH(CLASS, CLASS, S);
 #include "clang/AST/StmtNodes.inc"
index f95c35a1268c5864655cdc126422a5a9aa56d411..f2c067a05ff6cf4db57c801fc43ad459c4f966ef 100644 (file)
@@ -98,24 +98,13 @@ public:
   enum StmtClass {
     NoStmtClass = 0,
 #define STMT(CLASS, PARENT) CLASS##Class,
-#define FIRST_STMT(CLASS) firstStmtConstant = CLASS##Class,
-// LAST_STMT will always come last
-#define LAST_STMT(CLASS) lastStmtConstant = CLASS##Class
-#define FIRST_EXPR(CLASS) firstExprConstant = CLASS##Class,
-#define LAST_EXPR(CLASS) lastExprConstant = CLASS##Class,
-#define FIRST_CALLEXPR(CLASS) firstCallExprConstant = CLASS##Class,
-#define LAST_CALLEXPR(CLASS) lastCallExprConstant = CLASS##Class,
-#define FIRST_CASTEXPR(CLASS) firstCastExprConstant = CLASS##Class,
-#define LAST_CASTEXPR(CLASS) lastCastExprConstant = CLASS##Class,
-#define FIRST_EXPLICITCASTEXPR(CLASS) firstExplicitCastExprConstant = \
-            CLASS##Class,
-#define LAST_EXPLICITCASTEXPR(CLASS) lastExplicitCastExprConstant = \
-            CLASS##Class,
-#define FIRST_BINARYOPERATOR(CLASS) firstBinaryOperatorConstant = \
-            CLASS##Class,
-#define LAST_BINARYOPERATOR(CLASS) lastBinaryOperatorConstant = \
-            CLASS##Class,
-#define ABSTRACT(STMT)
+#define STMT_RANGE(BASE, FIRST, LAST) \
+        first##BASE##Constant = FIRST##Class, \
+        last##BASE##Constant = LAST##Class,
+#define LAST_STMT_RANGE(BASE, FIRST, LAST) \
+        first##BASE##Constant = FIRST##Class, \
+        last##BASE##Constant = LAST##Class
+#define ABSTRACT_STMT(STMT)
 #include "clang/AST/StmtNodes.inc"
 };
 private:
index f1d478ded4d18c8b1051129912bb415ecc92ff6d..8078451fa31fb27221ddb0d99abbd6634551a4a0 100644 (file)
@@ -105,7 +105,7 @@ public:
     // Top switch stmt: dispatch to VisitFooStmt for each FooStmt.
     switch (S->getStmtClass()) {
     default: assert(0 && "Unknown stmt kind!");
-#define ABSTRACT(STMT)
+#define ABSTRACT_STMT(STMT)
 #define STMT(CLASS, PARENT)                              \
     case Stmt::CLASS ## Class: DISPATCH(CLASS, CLASS);
 #include "clang/AST/StmtNodes.inc"
index f6f3ae5c88058ba3f11dad3ac9d8e2eb323dc924..80f5695e42ad8495b177b8fd0449d1797852a577 100644 (file)
@@ -36,7 +36,7 @@ static StmtClassNameTable &getStmtInfoTableEntry(Stmt::StmtClass E) {
 
   // Intialize the table on the first use.
   Initialized = true;
-#define ABSTRACT(STMT)
+#define ABSTRACT_STMT(STMT)
 #define STMT(CLASS, PARENT) \
   StmtClassInfo[(unsigned)Stmt::CLASS##Class].Name = #CLASS;    \
   StmtClassInfo[(unsigned)Stmt::CLASS##Class].Size = sizeof(CLASS);
index 7f756ec4ce4d4e7052a77cf2861cad0c17d62529..37264a6cb3c8c69b809e2a7d15ce359cc2dcdaa4 100644 (file)
@@ -344,7 +344,7 @@ public:
   OwningStmtResult Transform##Node(Node *S);
 #define EXPR(Node, Parent)                        \
   OwningExprResult Transform##Node(Node *E);
-#define ABSTRACT(Stmt)
+#define ABSTRACT_STMT(Stmt)
 #include "clang/AST/StmtNodes.inc"
 
   /// \brief Build a new pointer type given its pointee type.
@@ -1958,7 +1958,7 @@ Sema::OwningStmtResult TreeTransform<Derived>::TransformStmt(Stmt *S) {
 
   // Transform expressions by calling TransformExpr.
 #define STMT(Node, Parent)
-#define ABSTRACT(Stmt)
+#define ABSTRACT_STMT(Stmt)
 #define EXPR(Node, Parent) case Stmt::Node##Class:
 #include "clang/AST/StmtNodes.inc"
     {
@@ -1982,7 +1982,7 @@ Sema::OwningExprResult TreeTransform<Derived>::TransformExpr(Expr *E) {
   switch (E->getStmtClass()) {
     case Stmt::NoStmtClass: break;
 #define STMT(Node, Parent) case Stmt::Node##Class: break;
-#define ABSTRACT(Stmt)
+#define ABSTRACT_STMT(Stmt)
 #define EXPR(Node, Parent)                                              \
     case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(E));
 #include "clang/AST/StmtNodes.inc"