anonymous-groups.td 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // RUN: clang-tblgen -gen-clang-diag-groups -I%S %s -o /dev/null 2>&1 | FileCheck --strict-whitespace %s
  2. include "DiagnosticBase.inc"
  3. // Do not move this line; it is referred to by absolute line number in the
  4. // FileCheck lines below.
  5. def NamedGroup : DiagGroup<"name">;
  6. def InNamedGroup : Warning<"">, InGroup<DiagGroup<"name">>;
  7. // CHECK: anonymous-groups.td:[[@LINE-1]]:41: error: group 'name' is referred to anonymously
  8. // CHECK-NEXT: {{^def InNamedGroup : Warning<"">, InGroup<DiagGroup<"name">>;}}
  9. // CHECK-NEXT: {{^ ~~~~~~~~\^~~~~~~~~~~~~~~~~~}}
  10. // CHECK-NEXT: {{^ InGroup<NamedGroup>}}
  11. // CHECK-NEXT: anonymous-groups.td:6:1: note: group defined here
  12. // CHECK-NEXT: def NamedGroup : DiagGroup<"name">;
  13. // CHECK-NEXT: ^
  14. def AlsoInNamedGroup : Warning<"">, InGroup < DiagGroup<"name"> >;
  15. // CHECK: anonymous-groups.td:[[@LINE-1]]:48: error: group 'name' is referred to anonymously
  16. // CHECK-NEXT: {{^def AlsoInNamedGroup : Warning<"">, InGroup < DiagGroup<"name"> >;}}
  17. // CHECK-NEXT: {{^ ~~~~~~~~~~~\^~~~~~~~~~~~~~~~~~~}}
  18. // CHECK-NEXT: {{^ InGroup<NamedGroup>}}
  19. // CHECK-NEXT: anonymous-groups.td:6:1: note: group defined here
  20. // CHECK-NEXT: def NamedGroup : DiagGroup<"name">;
  21. // CHECK-NEXT: ^
  22. def AnonymousGroup : Warning<"">, InGroup<DiagGroup<"anonymous">>;
  23. def AlsoAnonymousGroup : Warning<"">, InGroup<DiagGroup<"anonymous">>;
  24. def AnonymousGroupAgain : Warning<"">,
  25. InGroup<DiagGroup<"anonymous">>;
  26. // CHECK: anonymous-groups.td:[[@LINE-5]]:43: error: group 'anonymous' is referred to anonymously
  27. // CHECK-NEXT: {{^def AnonymousGroup : Warning<"">, InGroup<DiagGroup<"anonymous">>;}}
  28. // CHECK-NEXT: {{^ ~~~~~~~~\^~~~~~~~~~~~~~~~~~~~~~~}}
  29. // CHECK-NEXT: anonymous-groups.td:[[@LINE-7]]:47: note: also referenced here
  30. // CHECK-NEXT: {{^def AlsoAnonymousGroup : Warning<"">, InGroup<DiagGroup<"anonymous">>;}}
  31. // CHECK-NEXT: {{^ ~~~~~~~~\^~~~~~~~~~~~~~~~~~~~~~~}}
  32. // CHECK-NEXT: anonymous-groups.td:[[@LINE-8]]:11: note: also referenced here
  33. // CHECK-NEXT: {{^ InGroup<DiagGroup<"anonymous">>;}}
  34. // CHECK-NEXT: {{^ ~~~~~~~~\^~~~~~~~~~~~~~~~~~~~~~~}}