36 lines · plain
1// RUN: %clang_analyze_cc1 -analyzer-checker=core,alpha.core -analyzer-checker=osx.cocoa.IncompatibleMethodTypes -verify -Wno-objc-root-class %s2 3int printf(const char *, ...);4 5@interface MyBase6-(long long)length;7-(long long)suppressedLength;8@end9 10@interface MySub : MyBase{}11-(double)length;12-(double)suppressedLength;13@end14 15@implementation MyBase16-(long long)length{17 printf("Called MyBase -length;\n");18 return 3;19}20-(long long)suppressedLength{21 printf("Called MyBase -length;\n");22 return 3;23}24@end25 26@implementation MySub27-(double)length{ // expected-warning{{types are incompatible}}28 printf("Called MySub -length;\n");29 return 3.3;30}31-(double)suppressedLength [[clang::suppress]]{ // no-warning32 printf("Called MySub -length;\n");33 return 3.3;34}35@end36