TableGenBackends.h revision 239462
1245431Sdim//===- TableGenBackends.h - Declarations for Clang TableGen Backends ------===//
2218885Sdim//
3218885Sdim//                     The LLVM Compiler Infrastructure
4218885Sdim//
5218885Sdim// This file is distributed under the University of Illinois Open Source
6218885Sdim// License. See LICENSE.TXT for details.
7218885Sdim//
8218885Sdim//===----------------------------------------------------------------------===//
9218885Sdim//
10245431Sdim// This file contains the declarations for all of the Clang TableGen
11218885Sdim// backends. A "TableGen backend" is just a function. See
12218885Sdim// "$LLVM_ROOT/utils/TableGen/TableGenBackends.h" for more info.
13218885Sdim//
14218885Sdim//===----------------------------------------------------------------------===//
15218885Sdim
16218885Sdim#include <string>
17245431Sdim
18224145Sdimnamespace llvm {
19252723Sdim  class raw_ostream;
20252723Sdim  class RecordKeeper;
21218885Sdim}
22235633Sdim
23218885Sdimusing llvm::raw_ostream;
24218885Sdimusing llvm::RecordKeeper;
25218885Sdim
26218885Sdimnamespace clang {
27218885Sdim
28218885Sdimvoid EmitClangDeclContext(RecordKeeper &RK, raw_ostream &OS);
29218885Sdimvoid EmitClangASTNodes(RecordKeeper &RK, raw_ostream &OS,
30223017Sdim                       const std::string &N, const std::string &S);
31223017Sdim
32223017Sdimvoid EmitClangAttrClass(RecordKeeper &Records, raw_ostream &OS);
33223017Sdimvoid EmitClangAttrImpl(RecordKeeper &Records, raw_ostream &OS);
34226890Sdimvoid EmitClangAttrList(RecordKeeper &Records, raw_ostream &OS);
35226890Sdimvoid EmitClangAttrPCHRead(RecordKeeper &Records, raw_ostream &OS);
36245431Sdimvoid EmitClangAttrPCHWrite(RecordKeeper &Records, raw_ostream &OS);
37245431Sdimvoid EmitClangAttrSpellingList(RecordKeeper &Records, raw_ostream &OS);
38245431Sdimvoid EmitClangAttrLateParsedList(RecordKeeper &Records, raw_ostream &OS);
39245431Sdimvoid EmitClangAttrTemplateInstantiate(RecordKeeper &Records, raw_ostream &OS);
40245431Sdimvoid EmitClangAttrParsedAttrList(RecordKeeper &Records, raw_ostream &OS);
41245431Sdimvoid EmitClangAttrParsedAttrKinds(RecordKeeper &Records, raw_ostream &OS);
42218885Sdim
43235633Sdimvoid EmitClangDiagsDefs(RecordKeeper &Records, raw_ostream &OS,
44235633Sdim                        const std::string &Component);
45235633Sdimvoid EmitClangDiagGroups(RecordKeeper &Records, raw_ostream &OS);
46235633Sdimvoid EmitClangDiagsIndexName(RecordKeeper &Records, raw_ostream &OS);
47218885Sdim
48235633Sdimvoid EmitClangSACheckers(RecordKeeper &Records, raw_ostream &OS);
49218885Sdim
50218885Sdimvoid EmitNeon(RecordKeeper &Records, raw_ostream &OS);
51218885Sdimvoid EmitNeonSema(RecordKeeper &Records, raw_ostream &OS);
52218885Sdimvoid EmitNeonTest(RecordKeeper &Records, raw_ostream &OS);
53218885Sdim
54245431Sdimvoid EmitOptParser(RecordKeeper &Records, raw_ostream &OS, bool GenDefs);
55245431Sdim
56235633Sdim} // end namespace clang
57235633Sdim