forked from OSchip/llvm-project
tblgen: Migrate clang-tblgen to new TableGenMain API.
llvm-svn: 165167
This commit is contained in:
parent
a3bf561384
commit
f85f39df47
|
@ -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 @@ namespace {
|
|||
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 @@ int main(int argc, char **argv) {
|
|||
PrettyStackTraceProgram X(argc, argv);
|
||||
cl::ParseCommandLineOptions(argc, argv);
|
||||
|
||||
ClangTableGenAction Action;
|
||||
return TableGenMain(argv[0], Action);
|
||||
return TableGenMain(argv[0], &ClangTableGenMain);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue