xref: /aosp_15_r20/external/clang/test/Analysis/ObjCRetSigs.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -analyze -analyzer-checker=core,alpha.core -analyzer-checker=osx.cocoa.IncompatibleMethodTypes -verify -Wno-objc-root-class %s
2*67e74705SXin Li
3*67e74705SXin Liint printf(const char *, ...);
4*67e74705SXin Li
5*67e74705SXin Li@interface MyBase
6*67e74705SXin Li-(long long)length;
7*67e74705SXin Li@end
8*67e74705SXin Li
9*67e74705SXin Li@interface MySub : MyBase{}
10*67e74705SXin Li-(double)length;
11*67e74705SXin Li@end
12*67e74705SXin Li
13*67e74705SXin Li@implementation MyBase
14*67e74705SXin Li-(long long)length{
15*67e74705SXin Li   printf("Called MyBase -length;\n");
16*67e74705SXin Li   return 3;
17*67e74705SXin Li}
18*67e74705SXin Li@end
19*67e74705SXin Li
20*67e74705SXin Li@implementation MySub
21*67e74705SXin Li-(double)length{  // expected-warning{{types are incompatible}}
22*67e74705SXin Li   printf("Called MySub -length;\n");
23*67e74705SXin Li   return 3.3;
24*67e74705SXin Li}
25*67e74705SXin Li@end
26