@@ -54,6 +54,7 @@ def TDL_DirA : Directive<[Spelling<"dira">]> {
5454// CHECK-NEXT:  #include "llvm/ADT/ArrayRef.h"
5555// CHECK-NEXT:  #include "llvm/ADT/BitmaskEnum.h"
5656// CHECK-NEXT:  #include "llvm/ADT/StringRef.h"
57+ // CHECK-NEXT:  #include "llvm/Frontend/Directive/Spelling.h"
5758// CHECK-NEXT:  #include "llvm/Support/Compiler.h"
5859// CHECK-NEXT:  #include <cstddef>
5960// CHECK-NEXT:  #include <utility>
@@ -63,8 +64,6 @@ def TDL_DirA : Directive<[Spelling<"dira">]> {
6364// CHECK-EMPTY:
6465// CHECK-NEXT:  LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
6566// CHECK-EMPTY:
66- // CHECK-NEXT:  struct VersionRange { int Min = 1; int Max = 0x7fffffff; };
67- // CHECK-EMPTY:
6867// CHECK-NEXT:  enum class Association {
6968// CHECK-NEXT:    Block,
7069// CHECK-NEXT:    Declaration,
@@ -126,14 +125,14 @@ def TDL_DirA : Directive<[Spelling<"dira">]> {
126125// CHECK-NEXT:  constexpr auto TDLCV_valc = AKind::TDLCV_valc;
127126// CHECK-EMPTY:
128127// CHECK-NEXT:  // Enumeration helper functions
129- // CHECK-NEXT:  LLVM_ABI std::pair<Directive, VersionRange> getTdlDirectiveKindAndVersions(StringRef Str);
128+ // CHECK-NEXT:  LLVM_ABI std::pair<Directive, directive:: VersionRange> getTdlDirectiveKindAndVersions(StringRef Str);
130129// CHECK-NEXT:  inline Directive getTdlDirectiveKind(StringRef Str) {
131130// CHECK-NEXT:   return getTdlDirectiveKindAndVersions(Str).first;
132131// CHECK-NEXT:  }
133132// CHECK-EMPTY:
134133// CHECK-NEXT:  LLVM_ABI StringRef getTdlDirectiveName(Directive D, unsigned Ver = 0);
135134// CHECK-EMPTY:
136- // CHECK-NEXT:  LLVM_ABI std::pair<Clause, VersionRange> getTdlClauseKindAndVersions(StringRef Str);
135+ // CHECK-NEXT:  LLVM_ABI std::pair<Clause, directive:: VersionRange> getTdlClauseKindAndVersions(StringRef Str);
137136// CHECK-EMPTY:
138137// CHECK-NEXT:  inline Clause getTdlClauseKind(StringRef Str) {
139138// CHECK-NEXT:    return getTdlClauseKindAndVersions(Str).first;
@@ -320,41 +319,48 @@ def TDL_DirA : Directive<[Spelling<"dira">]> {
320319// IMPL:       #ifdef GEN_DIRECTIVES_IMPL
321320// IMPL-NEXT:  #undef GEN_DIRECTIVES_IMPL
322321// IMPL-EMPTY:
322+ // IMPL-NEXT:  #include "llvm/Frontend/Directive/Spelling.h"
323323// IMPL-NEXT:  #include "llvm/Support/ErrorHandling.h"
324324// IMPL-NEXT:  #include <utility>
325325// IMPL-EMPTY:
326- // IMPL-NEXT: std::pair<llvm::tdl::Directive, llvm::tdl ::VersionRange> llvm::tdl::getTdlDirectiveKindAndVersions(llvm::StringRef Str) {
327- // IMPL-NEXT:   VersionRange All{} ; // Default-initialized to "all- versions"
328- // IMPL-NEXT:   return StringSwitch<std::pair<Directive, VersionRange>>(Str)
326+ // IMPL-NEXT: std::pair<llvm::tdl::Directive, llvm::directive ::VersionRange> llvm::tdl::getTdlDirectiveKindAndVersions(llvm::StringRef Str) {
327+ // IMPL-NEXT:   directive:: VersionRange All; // Default-initialized to "all  versions"
328+ // IMPL-NEXT:   return StringSwitch<std::pair<Directive, directive:: VersionRange>>(Str)
329329// IMPL-NEXT:     .Case("dira", {TDLD_dira, All})
330330// IMPL-NEXT:     .Default({TDLD_dira, All});
331331// IMPL-NEXT: }
332332// IMPL-EMPTY:
333- // IMPL-NEXT:  llvm::StringRef llvm::tdl::getTdlDirectiveName(llvm::tdl::Directive Kind, unsigned) {
333+ // IMPL-NEXT:  llvm::StringRef llvm::tdl::getTdlDirectiveName(llvm::tdl::Directive Kind, unsigned Version ) {
334334// IMPL-NEXT:    switch (Kind) {
335335// IMPL-NEXT:      case TDLD_dira:
336336// IMPL-NEXT:        return "dira";
337337// IMPL-NEXT:    }
338338// IMPL-NEXT:    llvm_unreachable("Invalid Tdl Directive kind");
339339// IMPL-NEXT:  }
340340// IMPL-EMPTY:
341- // IMPL-NEXT: std::pair<llvm::tdl::Clause, llvm::tdl ::VersionRange> llvm::tdl::getTdlClauseKindAndVersions(llvm::StringRef Str) {
342- // IMPL-NEXT:   VersionRange All{} ; // Default-initialized to "all- versions"
343- // IMPL-NEXT:   return StringSwitch<std::pair<Clause, VersionRange>>(Str)
341+ // IMPL-NEXT: std::pair<llvm::tdl::Clause, llvm::directive ::VersionRange> llvm::tdl::getTdlClauseKindAndVersions(llvm::StringRef Str) {
342+ // IMPL-NEXT:   directive:: VersionRange All; // Default-initialized to "all  versions"
343+ // IMPL-NEXT:   return StringSwitch<std::pair<Clause, directive:: VersionRange>>(Str)
344344// IMPL-NEXT:     .Case("clausea", {TDLC_clausea, All})
345345// IMPL-NEXT:     .Case("clauseb", {TDLC_clauseb, All})
346346// IMPL-NEXT:     .Case("clausec", {TDLC_clausec, All})
347+ // IMPL-NEXT:     .Case("ccccccc", {TDLC_clausec, All})
347348// IMPL-NEXT:     .Default({TDLC_clauseb, All});
348349// IMPL-NEXT: }
349350// IMPL-EMPTY:
350- // IMPL-NEXT:  llvm::StringRef llvm::tdl::getTdlClauseName(llvm::tdl::Clause Kind, unsigned) {
351+ // IMPL-NEXT:  llvm::StringRef llvm::tdl::getTdlClauseName(llvm::tdl::Clause Kind, unsigned Version ) {
351352// IMPL-NEXT:    switch (Kind) {
352353// IMPL-NEXT:      case TDLC_clausea:
353354// IMPL-NEXT:        return "clausea";
354355// IMPL-NEXT:      case TDLC_clauseb:
355356// IMPL-NEXT:        return "clauseb";
356- // IMPL-NEXT:      case TDLC_clausec:
357- // IMPL-NEXT:        return "clausec";
357+ // IMPL-NEXT:      case TDLC_clausec: {
358+ // IMPL-NEXT:        static constexpr llvm::directive::Spelling TDLC_clausec_spellings[] = {
359+ // IMPL-NEXT:            {"clausec", {0, 2147483647}},
360+ // IMPL-NEXT:            {"ccccccc", {0, 2147483647}},
361+ // IMPL-NEXT:        };
362+ // IMPL-NEXT:        return llvm::directive::FindName(TDLC_clausec_spellings, Version);
363+ // IMPL-NEXT:      }
358364// IMPL-NEXT:    }
359365// IMPL-NEXT:    llvm_unreachable("Invalid Tdl Clause kind");
360366// IMPL-NEXT:  }
0 commit comments