13cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen//===- TableGenBackends.h - Declarations for Clang TableGen Backends ------===// 23cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// 33cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// The LLVM Compiler Infrastructure 43cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// 53cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// This file is distributed under the University of Illinois Open Source 63cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// License. See LICENSE.TXT for details. 73cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// 83cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen//===----------------------------------------------------------------------===// 93cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// 103cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// This file contains the declarations for all of the Clang TableGen 113cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// backends. A "TableGen backend" is just a function. See 123cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// "$LLVM_ROOT/utils/TableGen/TableGenBackends.h" for more info. 133cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen// 143cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen//===----------------------------------------------------------------------===// 153cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 16176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines#ifndef LLVM_CLANG_UTILS_TABLEGEN_TABLEGENBACKENDS_H 17176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines#define LLVM_CLANG_UTILS_TABLEGEN_TABLEGENBACKENDS_H 18176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 193cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen#include <string> 203cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 213cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesennamespace llvm { 223cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen class raw_ostream; 233cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen class RecordKeeper; 243cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen} 253cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 263cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenusing llvm::raw_ostream; 273cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenusing llvm::RecordKeeper; 283cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 293cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesennamespace clang { 303cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 313cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangDeclContext(RecordKeeper &RK, raw_ostream &OS); 323cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangASTNodes(RecordKeeper &RK, raw_ostream &OS, 333cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen const std::string &N, const std::string &S); 343cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 35651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid EmitClangAttrParserStringSwitches(RecordKeeper &Records, raw_ostream &OS); 363cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangAttrClass(RecordKeeper &Records, raw_ostream &OS); 373cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangAttrImpl(RecordKeeper &Records, raw_ostream &OS); 383cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangAttrList(RecordKeeper &Records, raw_ostream &OS); 393cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangAttrPCHRead(RecordKeeper &Records, raw_ostream &OS); 403cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangAttrPCHWrite(RecordKeeper &Records, raw_ostream &OS); 41651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid EmitClangAttrHasAttrImpl(RecordKeeper &Records, raw_ostream &OS); 4251d8c52ad36129760eaa586f85176037e2cd0d0eMichael Hanvoid EmitClangAttrSpellingListIndex(RecordKeeper &Records, raw_ostream &OS); 43651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid EmitClangAttrASTVisitor(RecordKeeper &Records, raw_ostream &OS); 443cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangAttrTemplateInstantiate(RecordKeeper &Records, raw_ostream &OS); 453cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangAttrParsedAttrList(RecordKeeper &Records, raw_ostream &OS); 46bbb3b3237df2284f6f3c34798944fcfa4b43fd34Aaron Ballmanvoid EmitClangAttrParsedAttrImpl(RecordKeeper &Records, raw_ostream &OS); 473cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangAttrParsedAttrKinds(RecordKeeper &Records, raw_ostream &OS); 48c3cd2b0d538e4db78f1bcbedd0085e2005ce5c51Alexander Kornienkovoid EmitClangAttrDump(RecordKeeper &Records, raw_ostream &OS); 493cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 503cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangDiagsDefs(RecordKeeper &Records, raw_ostream &OS, 513cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen const std::string &Component); 523cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangDiagGroups(RecordKeeper &Records, raw_ostream &OS); 533cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangDiagsIndexName(RecordKeeper &Records, raw_ostream &OS); 543cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 553cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitClangSACheckers(RecordKeeper &Records, raw_ostream &OS); 563cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 57c24a76e376a767edc14e60bed716396a84cb127aDmitri Gribenkovoid EmitClangCommentHTMLTags(RecordKeeper &Records, raw_ostream &OS); 58c24a76e376a767edc14e60bed716396a84cb127aDmitri Gribenkovoid EmitClangCommentHTMLTagsProperties(RecordKeeper &Records, raw_ostream &OS); 595bd1e5ba000023910ad986a16dd16d7ca914750aDmitri Gribenkovoid EmitClangCommentHTMLNamedCharacterReferences(RecordKeeper &Records, raw_ostream &OS); 60c24a76e376a767edc14e60bed716396a84cb127aDmitri Gribenko 61e4330a302ac20b41b9800267ebd4b5b01f8553f8Dmitri Gribenkovoid EmitClangCommentCommandInfo(RecordKeeper &Records, raw_ostream &OS); 62af01bed59b2fe18fa483f5dbb86584b31eda6f98Dmitri Gribenkovoid EmitClangCommentCommandList(RecordKeeper &Records, raw_ostream &OS); 63e4330a302ac20b41b9800267ebd4b5b01f8553f8Dmitri Gribenko 643cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitNeon(RecordKeeper &Records, raw_ostream &OS); 653cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitNeonSema(RecordKeeper &Records, raw_ostream &OS); 663cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesenvoid EmitNeonTest(RecordKeeper &Records, raw_ostream &OS); 67c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hinesvoid EmitNeon2(RecordKeeper &Records, raw_ostream &OS); 68c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hinesvoid EmitNeonSema2(RecordKeeper &Records, raw_ostream &OS); 69c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hinesvoid EmitNeonTest2(RecordKeeper &Records, raw_ostream &OS); 703cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen 71651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid EmitClangAttrDocs(RecordKeeper &Records, raw_ostream &OS); 72651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 733cc509b5ac0e99ef44c1bf8b57cd403b546abc3dJakob Stoklund Olesen} // end namespace clang 74176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 75176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines#endif 76