27 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
// RUN: %clang_cc1 -fsyntax-only -verify -pedantic %s
 | 
						|
 | 
						|
struct S { int a; };
 | 
						|
 | 
						|
extern int charStarFunc(char *); // expected-note{{passing argument to parameter here}}
 | 
						|
extern int charFunc(char); // expected-note{{passing argument to parameter here}}
 | 
						|
 | 
						|
@interface Test
 | 
						|
+alloc;
 | 
						|
-(int)charStarMeth:(char *)s; // expected-note{{passing argument to parameter 's' here}}
 | 
						|
-structMeth:(struct S)s; // expected-note{{passing argument to parameter 's' here}}
 | 
						|
-structMeth:(struct S)s 
 | 
						|
   :(struct S)s2; // expected-note{{passing argument to parameter 's2' here}}
 | 
						|
@end
 | 
						|
 | 
						|
void test() {
 | 
						|
  id obj = [Test alloc];
 | 
						|
  struct S sInst;
 | 
						|
 | 
						|
  charStarFunc(1); // expected-warning {{incompatible integer to pointer conversion passing 'int' to parameter of type 'char *'}}
 | 
						|
  charFunc("abc"); // expected-warning {{incompatible pointer to integer conversion passing 'char [4]' to parameter of type 'char'}}
 | 
						|
 | 
						|
  [obj charStarMeth:1]; // expected-warning {{incompatible integer to pointer conversion sending 'int'}}
 | 
						|
  [obj structMeth:1]; // expected-error {{sending 'int'}}
 | 
						|
  [obj structMeth:sInst :1]; // expected-error {{sending 'int'}}
 | 
						|
}
 |