xref: /aosp_15_r20/external/clang/test/TableGen/tg-fixits.td (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: clang-tblgen -gen-clang-diag-groups -I%S %s -o /dev/null 2>&1 | FileCheck --strict-whitespace %s
2*67e74705SXin Liinclude "DiagnosticBase.inc"
3*67e74705SXin Li
4*67e74705SXin Lidef NamedGroup : DiagGroup<"name">;
5*67e74705SXin Li
6*67e74705SXin Lidef InNamedGroup : Warning<"">, InGroup<DiagGroup<"name">>;
7*67e74705SXin Li//      CHECK: tg-fixits.td:[[@LINE-1]]:41: error: group 'name' is referred to anonymously
8*67e74705SXin Li// CHECK-NEXT: {{^def InNamedGroup : Warning<"">, InGroup<DiagGroup<"name">>;}}
9*67e74705SXin Li// CHECK-NEXT: {{^                                ~~~~~~~~\^~~~~~~~~~~~~~~~~~}}
10*67e74705SXin Li// CHECK-NEXT: {{^                                InGroup<NamedGroup>}}
11*67e74705SXin Li
12*67e74705SXin Lidef Wrapped : Warning<"">, InGroup<DiagGroup<
13*67e74705SXin Li  "name">>;
14*67e74705SXin Li//      CHECK: tg-fixits.td:[[@LINE-2]]:36: error: group 'name' is referred to anonymously
15*67e74705SXin Li// CHECK-NEXT: {{^def Wrapped : Warning<"">, InGroup<DiagGroup<}}
16*67e74705SXin Li// CHECK-NEXT: {{^                           ~~~~~~~~\^~~~~~~~~~}}
17*67e74705SXin Li// CHECK-NEXT: {{^                           InGroup<NamedGroup>}}
18*67e74705SXin Li
19*67e74705SXin Lidef AlsoWrapped : Warning<"">, InGroup<
20*67e74705SXin Li  DiagGroup<"name">>;
21*67e74705SXin Li//      CHECK: tg-fixits.td:[[@LINE-1]]:3: error: group 'name' is referred to anonymously
22*67e74705SXin Li// CHECK-NEXT: {{^  DiagGroup<"name">>;}}
23*67e74705SXin Li// CHECK-NEXT: {{^~~\^~~~~~~~~~~~~~~~~~}}
24*67e74705SXin Li// CHECK-NEXT: {{^InGroup<NamedGroup>}}
25*67e74705SXin Li
26*67e74705SXin Li// The following lines contain hard tabs (\t); do not change this!
27*67e74705SXin Lidef HardTabs : Warning<"">,
28*67e74705SXin Li	InGroup<	DiagGroup<"name">	>;
29*67e74705SXin Li//      CHECK: tg-fixits.td:[[@LINE-1]]:11: error: group 'name' is referred to anonymously
30*67e74705SXin Li// CHECK-NEXT: {{^        InGroup<        DiagGroup<"name">       >;}}
31*67e74705SXin Li// CHECK-NEXT: {{^        ~~~~~~~~~~~~~~~~\^~~~~~~~~~~~~~~~~~~~~~~~~}}
32*67e74705SXin Li// CHECK-NEXT: {{^        InGroup<NamedGrop>}}
33*67e74705SXin Li
34*67e74705SXin Li// The following line has Unicode characters in it; do not change them!
35*67e74705SXin Li// FIXME: For now, we just give up on printing carets/ranges/fixits for
36*67e74705SXin Li// lines with Unicode in them, because SMDiagnostic don't keep a byte<->column
37*67e74705SXin Li// map around to line things up like Clang does.
38*67e74705SXin Lidef Unicode : Warning<"ユニコード">, InGroup<DiagGroup<"name">>;
39*67e74705SXin Li//      CHECK: tg-fixits.td:[[@LINE-1]]:51: error: group 'name' is referred to anonymously
40*67e74705SXin Li// CHECK-NEXT: def Unicode : Warning<"{{[^"]+}}">, InGroup<DiagGroup<"name">>;
41*67e74705SXin Li// CHECK-NEXT: note:
42