// 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'}}
}
