[cfe-commits] r165167 - /cfe/trunk/utils/TableGen/TableGen.cpp

Sean Silva silvas at purdue.edu
Wed Oct 3 14:29:31 PDT 2012


Author: silvas
Date: Wed Oct  3 16:29:30 2012
New Revision: 165167

URL: http://llvm.org/viewvc/llvm-project?rev=165167&view=rev
Log:
tblgen: Migrate clang-tblgen to new TableGenMain API.

Modified:
    cfe/trunk/utils/TableGen/TableGen.cpp

Modified: cfe/trunk/utils/TableGen/TableGen.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/TableGen/TableGen.cpp?rev=165167&r1=165166&r2=165167&view=diff
==============================================================================
--- cfe/trunk/utils/TableGen/TableGen.cpp (original)
+++ cfe/trunk/utils/TableGen/TableGen.cpp Wed Oct  3 16:29:30 2012
@@ -19,7 +19,6 @@
 #include "llvm/TableGen/Error.h"
 #include "llvm/TableGen/Main.h"
 #include "llvm/TableGen/Record.h"
-#include "llvm/TableGen/TableGenAction.h"
 
 using namespace llvm;
 using namespace clang;
@@ -123,91 +122,88 @@
                  cl::desc("Only use warnings from specified component"),
                  cl::value_desc("component"), cl::Hidden);
 
-class ClangTableGenAction : public TableGenAction {
-public:
-  bool operator()(raw_ostream &OS, RecordKeeper &Records) {
-    switch (Action) {
-    case GenClangAttrClasses:
-      EmitClangAttrClass(Records, OS);
-      break;
-    case GenClangAttrImpl:
-      EmitClangAttrImpl(Records, OS);
-      break;
-    case GenClangAttrList:
-      EmitClangAttrList(Records, OS);
-      break;
-    case GenClangAttrPCHRead:
-      EmitClangAttrPCHRead(Records, OS);
-      break;
-    case GenClangAttrPCHWrite:
-      EmitClangAttrPCHWrite(Records, OS);
-      break;
-    case GenClangAttrSpellingList:
-      EmitClangAttrSpellingList(Records, OS);
-      break;
-    case GenClangAttrLateParsedList:
-      EmitClangAttrLateParsedList(Records, OS);
-      break;
-    case GenClangAttrTemplateInstantiate:
-      EmitClangAttrTemplateInstantiate(Records, OS);
-      break;
-    case GenClangAttrParsedAttrList:
-      EmitClangAttrParsedAttrList(Records, OS);
-      break;
-    case GenClangAttrParsedAttrKinds:
-      EmitClangAttrParsedAttrKinds(Records, OS);
-      break;
-    case GenClangDiagsDefs:
-      EmitClangDiagsDefs(Records, OS, ClangComponent);
-      break;
-    case GenClangDiagGroups:
-      EmitClangDiagGroups(Records, OS);
-      break;
-    case GenClangDiagsIndexName:
-      EmitClangDiagsIndexName(Records, OS);
-      break;
-    case GenClangCommentNodes:
-      EmitClangASTNodes(Records, OS, "Comment", "");
-      break;
-    case GenClangDeclNodes:
-      EmitClangASTNodes(Records, OS, "Decl", "Decl");
-      EmitClangDeclContext(Records, OS);
-      break;
-    case GenClangStmtNodes:
-      EmitClangASTNodes(Records, OS, "Stmt", "");
-      break;
-    case GenClangSACheckers:
-      EmitClangSACheckers(Records, OS);
-      break;
-    case GenClangCommentHTMLTags:
-      EmitClangCommentHTMLTags(Records, OS);
-      break;
-    case GenClangCommentHTMLTagsProperties:
-      EmitClangCommentHTMLTagsProperties(Records, OS);
-      break;
-    case GenClangCommentCommandInfo:
-      EmitClangCommentCommandInfo(Records, OS);
-      break;
-    case GenOptParserDefs:
-      EmitOptParser(Records, OS, true);
-      break;
-    case GenOptParserImpl:
-      EmitOptParser(Records, OS, false);
-      break;
-    case GenArmNeon:
-      EmitNeon(Records, OS);
-      break;
-    case GenArmNeonSema:
-      EmitNeonSema(Records, OS);
-      break;
-    case GenArmNeonTest:
-      EmitNeonTest(Records, OS);
-      break;
-    }
-
-    return false;
+bool ClangTableGenMain(raw_ostream &OS, RecordKeeper &Records) {
+  switch (Action) {
+  case GenClangAttrClasses:
+    EmitClangAttrClass(Records, OS);
+    break;
+  case GenClangAttrImpl:
+    EmitClangAttrImpl(Records, OS);
+    break;
+  case GenClangAttrList:
+    EmitClangAttrList(Records, OS);
+    break;
+  case GenClangAttrPCHRead:
+    EmitClangAttrPCHRead(Records, OS);
+    break;
+  case GenClangAttrPCHWrite:
+    EmitClangAttrPCHWrite(Records, OS);
+    break;
+  case GenClangAttrSpellingList:
+    EmitClangAttrSpellingList(Records, OS);
+    break;
+  case GenClangAttrLateParsedList:
+    EmitClangAttrLateParsedList(Records, OS);
+    break;
+  case GenClangAttrTemplateInstantiate:
+    EmitClangAttrTemplateInstantiate(Records, OS);
+    break;
+  case GenClangAttrParsedAttrList:
+    EmitClangAttrParsedAttrList(Records, OS);
+    break;
+  case GenClangAttrParsedAttrKinds:
+    EmitClangAttrParsedAttrKinds(Records, OS);
+    break;
+  case GenClangDiagsDefs:
+    EmitClangDiagsDefs(Records, OS, ClangComponent);
+    break;
+  case GenClangDiagGroups:
+    EmitClangDiagGroups(Records, OS);
+    break;
+  case GenClangDiagsIndexName:
+    EmitClangDiagsIndexName(Records, OS);
+    break;
+  case GenClangCommentNodes:
+    EmitClangASTNodes(Records, OS, "Comment", "");
+    break;
+  case GenClangDeclNodes:
+    EmitClangASTNodes(Records, OS, "Decl", "Decl");
+    EmitClangDeclContext(Records, OS);
+    break;
+  case GenClangStmtNodes:
+    EmitClangASTNodes(Records, OS, "Stmt", "");
+    break;
+  case GenClangSACheckers:
+    EmitClangSACheckers(Records, OS);
+    break;
+  case GenClangCommentHTMLTags:
+    EmitClangCommentHTMLTags(Records, OS);
+    break;
+  case GenClangCommentHTMLTagsProperties:
+    EmitClangCommentHTMLTagsProperties(Records, OS);
+    break;
+  case GenClangCommentCommandInfo:
+    EmitClangCommentCommandInfo(Records, OS);
+    break;
+  case GenOptParserDefs:
+    EmitOptParser(Records, OS, true);
+    break;
+  case GenOptParserImpl:
+    EmitOptParser(Records, OS, false);
+    break;
+  case GenArmNeon:
+    EmitNeon(Records, OS);
+    break;
+  case GenArmNeonSema:
+    EmitNeonSema(Records, OS);
+    break;
+  case GenArmNeonTest:
+    EmitNeonTest(Records, OS);
+    break;
   }
-};
+
+  return false;
+}
 }
 
 int main(int argc, char **argv) {
@@ -215,6 +211,5 @@
   PrettyStackTraceProgram X(argc, argv);
   cl::ParseCommandLineOptions(argc, argv);
 
-  ClangTableGenAction Action;
-  return TableGenMain(argv[0], Action);
+  return TableGenMain(argv[0], &ClangTableGenMain);
 }





More information about the cfe-commits mailing list