xref: /aosp_15_r20/external/clang/test/Misc/serialized-diags.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li@interface Foo
2*67e74705SXin Li- (void) test;
3*67e74705SXin Li- (void) test2;
4*67e74705SXin Li@end
5*67e74705SXin Li
6*67e74705SXin Li@implementation Foo
7*67e74705SXin Li- (void) test {
8*67e74705SXin Li  [_self test2];
9*67e74705SXin Li}
10*67e74705SXin Li- (void) test2 {}
11*67e74705SXin Li@end
12*67e74705SXin Li
13*67e74705SXin Li// RUN: rm -f %t
14*67e74705SXin Li// RUN: not %clang -Wall -fsyntax-only %s --serialize-diagnostics %t.diag > /dev/null 2>&1
15*67e74705SXin Li// RUN: c-index-test -read-diagnostics %t.diag > %t 2>&1
16*67e74705SXin Li// RUN: FileCheck --input-file=%t %s
17*67e74705SXin Li
18*67e74705SXin Li// This test checks that serialized diagnostics handle notes with no source location.
19*67e74705SXin Li
20*67e74705SXin Li// CHECK: {{.*[/\\]}}serialized-diags.m:8:4: error: use of undeclared identifier '_self'; did you mean 'self'? [] [Semantic Issue]
21*67e74705SXin Li// CHECK: Range: {{.*[/\\]}}serialized-diags.m:8:4 {{.*[/\\]}}serialized-diags.m:8:9
22*67e74705SXin Li// CHECK: Number FIXITs = 1
23*67e74705SXin Li// CHECK: FIXIT: ({{.*[/\\]}}serialized-diags.m:8:4 - {{.*[/\\]}}serialized-diags.m:8:9): "self"
24*67e74705SXin Li// CHECK: +-(null):0:0: note: 'self' is an implicit parameter [] [Semantic Issue]
25*67e74705SXin Li// CHECK: Number FIXITs = 0
26*67e74705SXin Li// CHECK: {{.*[/\\]}}serialized-diags.m:1:12: warning: class 'Foo' defined without specifying a base class [-Wobjc-root-class] [Semantic Issue]
27*67e74705SXin Li// CHECK: Number FIXITs = 0
28*67e74705SXin Li// CHECK: +-{{.*[/\\]}}serialized-diags.m:1:15: note: add a super class to fix this problem [] [Semantic Issue]
29*67e74705SXin Li// CHECK: Number FIXITs = 0
30*67e74705SXin Li// CHECK: Number of diagnostics: 2
31