Add preliminary clang attribute generation support.

The attribute class generation support is still somewhat limited.
See the accompanying clang commit for more details.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106174 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sean Hunt
2010-06-16 23:45:50 +00:00
parent 7616b646f1
commit 16171446c6
3 changed files with 147 additions and 0 deletions

View File

@ -19,6 +19,7 @@
#include "AsmWriterEmitter.h"
#include "CallingConvEmitter.h"
#include "ClangASTNodesEmitter.h"
#include "ClangAttrEmitter.h"
#include "ClangDiagnosticsEmitter.h"
#include "CodeEmitterGen.h"
#include "DAGISelEmitter.h"
@ -53,6 +54,8 @@ enum ActionType {
GenARMDecoder,
GenDisassembler,
GenCallingConv,
GenClangAttrClasses,
GenClangAttrList,
GenClangDiagsDefs,
GenClangDiagGroups,
GenClangDeclNodes,
@ -111,6 +114,10 @@ namespace {
"Generate intrinsic information"),
clEnumValN(GenTgtIntrinsic, "gen-tgt-intrinsic",
"Generate target intrinsic information"),
clEnumValN(GenClangAttrClasses, "gen-clang-attr-classes",
"Generate clang attribute clases"),
clEnumValN(GenClangAttrList, "gen-clang-attr-list",
"Generate a clang attribute list"),
clEnumValN(GenClangDiagsDefs, "gen-clang-diags-defs",
"Generate Clang diagnostics definitions"),
clEnumValN(GenClangDiagGroups, "gen-clang-diag-groups",
@ -248,6 +255,12 @@ int main(int argc, char **argv) {
case GenAsmMatcher:
AsmMatcherEmitter(Records).run(Out);
break;
case GenClangAttrClasses:
ClangAttrClassEmitter(Records).run(Out);
break;
case GenClangAttrList:
ClangAttrListEmitter(Records).run(Out);
break;
case GenClangDiagsDefs:
ClangDiagsDefsEmitter(Records, ClangComponent).run(Out);
break;