xref: /minix3/external/bsd/llvm/dist/clang/utils/TableGen/TableGenBackends.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc //===- TableGenBackends.h - Declarations for Clang TableGen Backends ------===//
2f4a2713aSLionel Sambuc //
3f4a2713aSLionel Sambuc //                     The LLVM Compiler Infrastructure
4f4a2713aSLionel Sambuc //
5f4a2713aSLionel Sambuc // This file is distributed under the University of Illinois Open Source
6f4a2713aSLionel Sambuc // License. See LICENSE.TXT for details.
7f4a2713aSLionel Sambuc //
8f4a2713aSLionel Sambuc //===----------------------------------------------------------------------===//
9f4a2713aSLionel Sambuc //
10f4a2713aSLionel Sambuc // This file contains the declarations for all of the Clang TableGen
11f4a2713aSLionel Sambuc // backends. A "TableGen backend" is just a function. See
12f4a2713aSLionel Sambuc // "$LLVM_ROOT/utils/TableGen/TableGenBackends.h" for more info.
13f4a2713aSLionel Sambuc //
14f4a2713aSLionel Sambuc //===----------------------------------------------------------------------===//
15f4a2713aSLionel Sambuc 
16*0a6a1f1dSLionel Sambuc #ifndef LLVM_CLANG_UTILS_TABLEGEN_TABLEGENBACKENDS_H
17*0a6a1f1dSLionel Sambuc #define LLVM_CLANG_UTILS_TABLEGEN_TABLEGENBACKENDS_H
18*0a6a1f1dSLionel Sambuc 
19f4a2713aSLionel Sambuc #include <string>
20f4a2713aSLionel Sambuc 
21f4a2713aSLionel Sambuc namespace llvm {
22f4a2713aSLionel Sambuc   class raw_ostream;
23f4a2713aSLionel Sambuc   class RecordKeeper;
24f4a2713aSLionel Sambuc }
25f4a2713aSLionel Sambuc 
26f4a2713aSLionel Sambuc using llvm::raw_ostream;
27f4a2713aSLionel Sambuc using llvm::RecordKeeper;
28f4a2713aSLionel Sambuc 
29f4a2713aSLionel Sambuc namespace clang {
30f4a2713aSLionel Sambuc 
31f4a2713aSLionel Sambuc void EmitClangDeclContext(RecordKeeper &RK, raw_ostream &OS);
32f4a2713aSLionel Sambuc void EmitClangASTNodes(RecordKeeper &RK, raw_ostream &OS,
33f4a2713aSLionel Sambuc                        const std::string &N, const std::string &S);
34f4a2713aSLionel Sambuc 
35*0a6a1f1dSLionel Sambuc void EmitClangAttrParserStringSwitches(RecordKeeper &Records, raw_ostream &OS);
36f4a2713aSLionel Sambuc void EmitClangAttrClass(RecordKeeper &Records, raw_ostream &OS);
37f4a2713aSLionel Sambuc void EmitClangAttrImpl(RecordKeeper &Records, raw_ostream &OS);
38f4a2713aSLionel Sambuc void EmitClangAttrList(RecordKeeper &Records, raw_ostream &OS);
39f4a2713aSLionel Sambuc void EmitClangAttrPCHRead(RecordKeeper &Records, raw_ostream &OS);
40f4a2713aSLionel Sambuc void EmitClangAttrPCHWrite(RecordKeeper &Records, raw_ostream &OS);
41*0a6a1f1dSLionel Sambuc void EmitClangAttrHasAttrImpl(RecordKeeper &Records, raw_ostream &OS);
42f4a2713aSLionel Sambuc void EmitClangAttrSpellingListIndex(RecordKeeper &Records, raw_ostream &OS);
43*0a6a1f1dSLionel Sambuc void EmitClangAttrASTVisitor(RecordKeeper &Records, raw_ostream &OS);
44f4a2713aSLionel Sambuc void EmitClangAttrTemplateInstantiate(RecordKeeper &Records, raw_ostream &OS);
45f4a2713aSLionel Sambuc void EmitClangAttrParsedAttrList(RecordKeeper &Records, raw_ostream &OS);
46f4a2713aSLionel Sambuc void EmitClangAttrParsedAttrImpl(RecordKeeper &Records, raw_ostream &OS);
47f4a2713aSLionel Sambuc void EmitClangAttrParsedAttrKinds(RecordKeeper &Records, raw_ostream &OS);
48f4a2713aSLionel Sambuc void EmitClangAttrDump(RecordKeeper &Records, raw_ostream &OS);
49f4a2713aSLionel Sambuc 
50f4a2713aSLionel Sambuc void EmitClangDiagsDefs(RecordKeeper &Records, raw_ostream &OS,
51f4a2713aSLionel Sambuc                         const std::string &Component);
52f4a2713aSLionel Sambuc void EmitClangDiagGroups(RecordKeeper &Records, raw_ostream &OS);
53f4a2713aSLionel Sambuc void EmitClangDiagsIndexName(RecordKeeper &Records, raw_ostream &OS);
54f4a2713aSLionel Sambuc 
55f4a2713aSLionel Sambuc void EmitClangSACheckers(RecordKeeper &Records, raw_ostream &OS);
56f4a2713aSLionel Sambuc 
57f4a2713aSLionel Sambuc void EmitClangCommentHTMLTags(RecordKeeper &Records, raw_ostream &OS);
58f4a2713aSLionel Sambuc void EmitClangCommentHTMLTagsProperties(RecordKeeper &Records, raw_ostream &OS);
59f4a2713aSLionel Sambuc void EmitClangCommentHTMLNamedCharacterReferences(RecordKeeper &Records, raw_ostream &OS);
60f4a2713aSLionel Sambuc 
61f4a2713aSLionel Sambuc void EmitClangCommentCommandInfo(RecordKeeper &Records, raw_ostream &OS);
62f4a2713aSLionel Sambuc void EmitClangCommentCommandList(RecordKeeper &Records, raw_ostream &OS);
63f4a2713aSLionel Sambuc 
64f4a2713aSLionel Sambuc void EmitNeon(RecordKeeper &Records, raw_ostream &OS);
65f4a2713aSLionel Sambuc void EmitNeonSema(RecordKeeper &Records, raw_ostream &OS);
66f4a2713aSLionel Sambuc void EmitNeonTest(RecordKeeper &Records, raw_ostream &OS);
67*0a6a1f1dSLionel Sambuc void EmitNeon2(RecordKeeper &Records, raw_ostream &OS);
68*0a6a1f1dSLionel Sambuc void EmitNeonSema2(RecordKeeper &Records, raw_ostream &OS);
69*0a6a1f1dSLionel Sambuc void EmitNeonTest2(RecordKeeper &Records, raw_ostream &OS);
70*0a6a1f1dSLionel Sambuc 
71*0a6a1f1dSLionel Sambuc void EmitClangAttrDocs(RecordKeeper &Records, raw_ostream &OS);
72f4a2713aSLionel Sambuc 
73f4a2713aSLionel Sambuc } // end namespace clang
74*0a6a1f1dSLionel Sambuc 
75*0a6a1f1dSLionel Sambuc #endif
76