174462Salfred//===- TableGenBackends.h - Declarations for Clang TableGen Backends ------===//
274462Salfred//
374462Salfred//                     The LLVM Compiler Infrastructure
414123Speter//
514123Speter// This file is distributed under the University of Illinois Open Source
614123Speter// License. See LICENSE.TXT for details.
714123Speter//
814123Speter//===----------------------------------------------------------------------===//
914123Speter//
1014123Speter// This file contains the declarations for all of the Clang TableGen
1114123Speter// backends. A "TableGen backend" is just a function. See
1214123Speter// "$LLVM_ROOT/utils/TableGen/TableGenBackends.h" for more info.
1314123Speter//
1414123Speter//===----------------------------------------------------------------------===//
1514123Speter
1614123Speter#include <string>
1714123Speter
1814123Speternamespace llvm {
1914123Speter  class raw_ostream;
2014123Speter  class RecordKeeper;
2114123Speter}
2214123Speter
2314123Speterusing llvm::raw_ostream;
2414123Speterusing llvm::RecordKeeper;
2514123Speter
2614123Speternamespace clang {
2714123Speter
2814123Spetervoid EmitClangDeclContext(RecordKeeper &RK, raw_ostream &OS);
2914123Spetervoid EmitClangASTNodes(RecordKeeper &RK, raw_ostream &OS,
3014123Speter                       const std::string &N, const std::string &S);
3114123Speter
3214123Spetervoid EmitClangAttrClass(RecordKeeper &Records, raw_ostream &OS);
3314123Spetervoid EmitClangAttrIdentifierArgList(RecordKeeper &Records, raw_ostream &OS);
3414123Spetervoid EmitClangAttrTypeArgList(RecordKeeper &Records, raw_ostream &OS);
3514123Spetervoid EmitClangAttrImpl(RecordKeeper &Records, raw_ostream &OS);
3614123Spetervoid EmitClangAttrList(RecordKeeper &Records, raw_ostream &OS);
3774462Salfredvoid EmitClangAttrPCHRead(RecordKeeper &Records, raw_ostream &OS);
3830376Scharniervoid EmitClangAttrPCHWrite(RecordKeeper &Records, raw_ostream &OS);
3974462Salfredvoid EmitClangAttrSpellingList(RecordKeeper &Records, raw_ostream &OS);
4074462Salfredvoid EmitClangAttrSpellingListIndex(RecordKeeper &Records, raw_ostream &OS);
4114123Spetervoid EmitClangAttrLateParsedList(RecordKeeper &Records, raw_ostream &OS);
4274462Salfredvoid EmitClangAttrTemplateInstantiate(RecordKeeper &Records, raw_ostream &OS);
4374462Salfredvoid EmitClangAttrParsedAttrList(RecordKeeper &Records, raw_ostream &OS);
4474462Salfredvoid EmitClangAttrParsedAttrImpl(RecordKeeper &Records, raw_ostream &OS);
4574462Salfredvoid EmitClangAttrParsedAttrKinds(RecordKeeper &Records, raw_ostream &OS);
4674462Salfredvoid EmitClangAttrDump(RecordKeeper &Records, raw_ostream &OS);
4774462Salfred
4814123Spetervoid EmitClangDiagsDefs(RecordKeeper &Records, raw_ostream &OS,
49177662Sdfr                        const std::string &Component);
50177662Sdfrvoid EmitClangDiagGroups(RecordKeeper &Records, raw_ostream &OS);
51177662Sdfrvoid EmitClangDiagsIndexName(RecordKeeper &Records, raw_ostream &OS);
5274462Salfred
53177633Sdfrvoid EmitClangSACheckers(RecordKeeper &Records, raw_ostream &OS);
5474462Salfred
55173281Smatteovoid EmitClangCommentHTMLTags(RecordKeeper &Records, raw_ostream &OS);
56173281Smatteovoid EmitClangCommentHTMLTagsProperties(RecordKeeper &Records, raw_ostream &OS);
57173281Smatteovoid EmitClangCommentHTMLNamedCharacterReferences(RecordKeeper &Records, raw_ostream &OS);
5830376Scharnier
5974462Salfredvoid EmitClangCommentCommandInfo(RecordKeeper &Records, raw_ostream &OS);
6030376Scharniervoid EmitClangCommentCommandList(RecordKeeper &Records, raw_ostream &OS);
6174462Salfred
6274462Salfredvoid EmitNeon(RecordKeeper &Records, raw_ostream &OS);
6374462Salfredvoid EmitNeonSema(RecordKeeper &Records, raw_ostream &OS);
6430376Scharniervoid EmitNeonTest(RecordKeeper &Records, raw_ostream &OS);
6574462Salfred
6674462Salfred} // end namespace clang
6774462Salfred