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 18namespace llvm { 19 class raw_ostream; 20 class RecordKeeper; 21} 22 23using llvm::raw_ostream; 24using llvm::RecordKeeper; 25 26namespace clang { 27 28void EmitClangDeclContext(RecordKeeper &RK, raw_ostream &OS); 29void EmitClangASTNodes(RecordKeeper &RK, raw_ostream &OS, 30 const std::string &N, const std::string &S); 31 32void EmitClangAttrParserStringSwitches(RecordKeeper &Records, raw_ostream &OS); 33void EmitClangAttrClass(RecordKeeper &Records, raw_ostream &OS); 34void EmitClangAttrImpl(RecordKeeper &Records, raw_ostream &OS); 35void EmitClangAttrList(RecordKeeper &Records, raw_ostream &OS); 36void EmitClangAttrPCHRead(RecordKeeper &Records, raw_ostream &OS); 37void EmitClangAttrPCHWrite(RecordKeeper &Records, raw_ostream &OS); 38void EmitClangAttrHasAttrImpl(RecordKeeper &Records, raw_ostream &OS); 39void EmitClangAttrSpellingListIndex(RecordKeeper &Records, raw_ostream &OS); 40void EmitClangAttrASTVisitor(RecordKeeper &Records, raw_ostream &OS); 41void EmitClangAttrTemplateInstantiate(RecordKeeper &Records, raw_ostream &OS); 42void EmitClangAttrParsedAttrList(RecordKeeper &Records, raw_ostream &OS); 43void EmitClangAttrParsedAttrImpl(RecordKeeper &Records, raw_ostream &OS); 44void EmitClangAttrParsedAttrKinds(RecordKeeper &Records, raw_ostream &OS); 45void EmitClangAttrDump(RecordKeeper &Records, raw_ostream &OS); 46 47void EmitClangDiagsDefs(RecordKeeper &Records, raw_ostream &OS, 48 const std::string &Component); 49void EmitClangDiagGroups(RecordKeeper &Records, raw_ostream &OS); 50void EmitClangDiagsIndexName(RecordKeeper &Records, raw_ostream &OS); 51 52void EmitClangSACheckers(RecordKeeper &Records, raw_ostream &OS); 53 54void EmitClangCommentHTMLTags(RecordKeeper &Records, raw_ostream &OS); 55void EmitClangCommentHTMLTagsProperties(RecordKeeper &Records, raw_ostream &OS); 56void EmitClangCommentHTMLNamedCharacterReferences(RecordKeeper &Records, raw_ostream &OS); 57 58void EmitClangCommentCommandInfo(RecordKeeper &Records, raw_ostream &OS); 59void EmitClangCommentCommandList(RecordKeeper &Records, raw_ostream &OS); 60 61void EmitNeon(RecordKeeper &Records, raw_ostream &OS); 62void EmitNeonSema(RecordKeeper &Records, raw_ostream &OS); 63void EmitNeonTest(RecordKeeper &Records, raw_ostream &OS); 64void EmitNeon2(RecordKeeper &Records, raw_ostream &OS); 65void EmitNeonSema2(RecordKeeper &Records, raw_ostream &OS); 66void EmitNeonTest2(RecordKeeper &Records, raw_ostream &OS); 67 68void EmitClangAttrDocs(RecordKeeper &Records, raw_ostream &OS); 69 70} // end namespace clang 71