Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaObjC/selector-1.m @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -Wselector-type-mismatch -verify %s @interface I - (id) compare: (char) arg1; // expected-note {{method 'compare:' declared here}} - length; @end @interface J - (id) compare: (id) arg1; // expected-note {{method 'compare:' declared here}} @end SEL func(void) { return @selector(compare:); // expected-warning {{several methods with selector 'compare:' of mismatched types are found for the @selector expression}} } // rdar://16458579 void Test16458579(void) { SEL s = @selector((retain)); SEL s1 = @selector((meth1:)); SEL s2 = @selector((retainArgument::)); SEL s3 = @selector((retainArgument:::::)); SEL s4 = @selector((retainArgument:with:)); SEL s5 = @selector((meth1:with:with:)); SEL s6 = @selector((getEnum:enum:bool:)); SEL s7 = @selector((char:float:double:unsigned:short:long:)); SEL s9 = @selector((:enum:bool:)); } int main(void) { SEL s = @selector(retain); SEL s1 = @selector(meth1:); SEL s2 = @selector(retainArgument::); SEL s3 = @selector(retainArgument:::::); SEL s4 = @selector(retainArgument:with:); SEL s5 = @selector(meth1:with:with:); SEL s6 = @selector(getEnum:enum:bool:); SEL s7 = @selector(char:float:double:unsigned:short:long:); SEL s9 = @selector(:enum:bool:); } // rdar://15794055 @interface NSObject @end @class NSNumber; @interface XBRecipe : NSObject @property (nonatomic, assign) float finalVolume; // expected-note {{method 'setFinalVolume:' declared here}} @end @interface XBDocument : NSObject @end @interface XBDocument () - (void)setFinalVolume:(NSNumber *)finalVolumeNumber; // expected-note {{method 'setFinalVolume:' declared here}} @end @implementation XBDocument - (void)setFinalVolume:(NSNumber *)finalVolumeNumber { (void)@selector(setFinalVolume:); // expected-warning {{several methods with selector 'setFinalVolume:' of mismatched types are found for the @selector expression}} } @end