Finish full attribute class emission for clang.

For more information, see the accompanying clang patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111454 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sean Hunt
2010-08-18 23:23:09 +00:00
parent cd799ce8f8
commit 726a3d284e
4 changed files with 645 additions and 14 deletions

View File

@@ -55,7 +55,10 @@ enum ActionType {
GenDisassembler,
GenCallingConv,
GenClangAttrClasses,
GenClangAttrImpl,
GenClangAttrList,
GenClangAttrPCHRead,
GenClangAttrPCHWrite,
GenClangDiagsDefs,
GenClangDiagGroups,
GenClangDeclNodes,
@@ -116,8 +119,14 @@ namespace {
"Generate target intrinsic information"),
clEnumValN(GenClangAttrClasses, "gen-clang-attr-classes",
"Generate clang attribute clases"),
clEnumValN(GenClangAttrImpl, "gen-clang-attr-impl",
"Generate clang attribute implementations"),
clEnumValN(GenClangAttrList, "gen-clang-attr-list",
"Generate a clang attribute list"),
clEnumValN(GenClangAttrPCHRead, "gen-clang-attr-pch-read",
"Generate clang PCH attribute reader"),
clEnumValN(GenClangAttrPCHWrite, "gen-clang-attr-pch-write",
"Generate clang PCH attribute writer"),
clEnumValN(GenClangDiagsDefs, "gen-clang-diags-defs",
"Generate Clang diagnostics definitions"),
clEnumValN(GenClangDiagGroups, "gen-clang-diag-groups",
@@ -256,9 +265,18 @@ int main(int argc, char **argv) {
case GenClangAttrClasses:
ClangAttrClassEmitter(Records).run(Out);
break;
case GenClangAttrImpl:
ClangAttrImplEmitter(Records).run(Out);
break;
case GenClangAttrList:
ClangAttrListEmitter(Records).run(Out);
break;
case GenClangAttrPCHRead:
ClangAttrPCHReadEmitter(Records).run(Out);
break;
case GenClangAttrPCHWrite:
ClangAttrPCHWriteEmitter(Records).run(Out);
break;
case GenClangDiagsDefs:
ClangDiagsDefsEmitter(Records, ClangComponent).run(Out);
break;