Allow for creation of clang DeclNodes tables.

The StmtNodes generator has been generalized to allow for the
creation of DeclNodes tables as well, and another emitter was
added for DeclContexts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105164 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sean Hunt
2010-05-30 07:21:42 +00:00
parent 4ed81ecbcd
commit c10a62b0d5
3 changed files with 133 additions and 54 deletions
+8 -1
View File
@@ -55,6 +55,7 @@ enum ActionType {
GenCallingConv,
GenClangDiagsDefs,
GenClangDiagGroups,
GenClangDeclNodes,
GenClangStmtNodes,
GenDAGISel,
GenFastISel,
@@ -113,6 +114,8 @@ namespace {
"Generate Clang diagnostics definitions"),
clEnumValN(GenClangDiagGroups, "gen-clang-diag-groups",
"Generate Clang diagnostic groups"),
clEnumValN(GenClangDeclNodes, "gen-clang-decl-nodes",
"Generate Clang AST statement nodes"),
clEnumValN(GenClangStmtNodes, "gen-clang-stmt-nodes",
"Generate Clang AST statement nodes"),
clEnumValN(GenLLVMCConf, "gen-llvmc",
@@ -248,8 +251,12 @@ int main(int argc, char **argv) {
case GenClangDiagGroups:
ClangDiagGroupsEmitter(Records).run(Out);
break;
case GenClangDeclNodes:
ClangASTNodesEmitter(Records, "Decl", "Decl").run(Out);
ClangDeclContextEmitter(Records).run(Out);
break;
case GenClangStmtNodes:
ClangStmtNodesEmitter(Records).run(Out);
ClangASTNodesEmitter(Records, "Stmt", "").run(Out);
break;
case GenDisassembler:
DisassemblerEmitter(Records).run(Out);