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