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