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