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