TableGenBackends.h revision 251662
11573Srgrimes//===- TableGenBackends.h - Declarations for Clang TableGen Backends ------===//
2239589Spfg//
384260Sobrien//                     The LLVM Compiler Infrastructure
41573Srgrimes//
51573Srgrimes// This file is distributed under the University of Illinois Open Source
61573Srgrimes// License. See LICENSE.TXT for details.
71573Srgrimes//
81573Srgrimes//===----------------------------------------------------------------------===//
91573Srgrimes//
101573Srgrimes// This file contains the declarations for all of the Clang TableGen
111573Srgrimes// backends. A "TableGen backend" is just a function. See
121573Srgrimes// "$LLVM_ROOT/utils/TableGen/TableGenBackends.h" for more info.
131573Srgrimes//
141573Srgrimes//===----------------------------------------------------------------------===//
151573Srgrimes
161573Srgrimes#include <string>
171573Srgrimes
181573Srgrimesnamespace llvm {
19148834Sstefanf  class raw_ostream;
201573Srgrimes  class RecordKeeper;
211573Srgrimes}
221573Srgrimes
231573Srgrimesusing llvm::raw_ostream;
241573Srgrimesusing llvm::RecordKeeper;
251573Srgrimes
261573Srgrimesnamespace clang {
271573Srgrimes
281573Srgrimesvoid EmitClangDeclContext(RecordKeeper &RK, raw_ostream &OS);
291573Srgrimesvoid EmitClangASTNodes(RecordKeeper &RK, raw_ostream &OS,
301573Srgrimes                       const std::string &N, const std::string &S);
311573Srgrimes
321573Srgrimesvoid EmitClangAttrClass(RecordKeeper &Records, raw_ostream &OS);
331573Srgrimesvoid EmitClangAttrExprArgsList(RecordKeeper &Records, raw_ostream &OS);
341573Srgrimesvoid EmitClangAttrImpl(RecordKeeper &Records, raw_ostream &OS);
351573Srgrimesvoid EmitClangAttrList(RecordKeeper &Records, raw_ostream &OS);
361573Srgrimesvoid EmitClangAttrPCHRead(RecordKeeper &Records, raw_ostream &OS);
371573Srgrimesvoid EmitClangAttrPCHWrite(RecordKeeper &Records, raw_ostream &OS);
381573Srgrimesvoid EmitClangAttrSpellingList(RecordKeeper &Records, raw_ostream &OS);
39148834Sstefanfvoid EmitClangAttrSpellingListIndex(RecordKeeper &Records, raw_ostream &OS);
4095258Sdesvoid EmitClangAttrLateParsedList(RecordKeeper &Records, raw_ostream &OS);
411573Srgrimesvoid EmitClangAttrTemplateInstantiate(RecordKeeper &Records, raw_ostream &OS);
421573Srgrimesvoid EmitClangAttrParsedAttrList(RecordKeeper &Records, raw_ostream &OS);
431573Srgrimesvoid EmitClangAttrParsedAttrKinds(RecordKeeper &Records, raw_ostream &OS);
441573Srgrimesvoid EmitClangAttrDump(RecordKeeper &Records, raw_ostream &OS);
451573Srgrimes
461573Srgrimesvoid EmitClangDiagsDefs(RecordKeeper &Records, raw_ostream &OS,
471573Srgrimes                        const std::string &Component);
481573Srgrimesvoid EmitClangDiagGroups(RecordKeeper &Records, raw_ostream &OS);
491573Srgrimesvoid EmitClangDiagsIndexName(RecordKeeper &Records, raw_ostream &OS);
501573Srgrimes
511573Srgrimesvoid EmitClangSACheckers(RecordKeeper &Records, raw_ostream &OS);
521573Srgrimes
531573Srgrimesvoid EmitClangCommentHTMLTags(RecordKeeper &Records, raw_ostream &OS);
5484260Sobrienvoid EmitClangCommentHTMLTagsProperties(RecordKeeper &Records, raw_ostream &OS);
5584260Sobrienvoid EmitClangCommentHTMLNamedCharacterReferences(RecordKeeper &Records, raw_ostream &OS);
5684260Sobrien
571573Srgrimesvoid EmitClangCommentCommandInfo(RecordKeeper &Records, raw_ostream &OS);
5884260Sobrienvoid EmitClangCommentCommandList(RecordKeeper &Records, raw_ostream &OS);
5984260Sobrien
601573Srgrimesvoid EmitNeon(RecordKeeper &Records, raw_ostream &OS);
611573Srgrimesvoid EmitNeonSema(RecordKeeper &Records, raw_ostream &OS);
621573Srgrimesvoid EmitNeonTest(RecordKeeper &Records, raw_ostream &OS);
631573Srgrimes
641573Srgrimesvoid EmitOptParser(RecordKeeper &Records, raw_ostream &OS, bool GenDefs);
651573Srgrimes
661573Srgrimes} // end namespace clang
671573Srgrimes