TableGenBackends.h 3.2 KB

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