42 lines
1.5 KiB
Objective-C
42 lines
1.5 KiB
Objective-C
/* { dg-do compile } */
|
|
/* Contributed by Alexander Malmberg: PR18456 */
|
|
|
|
@interface Foo
|
|
-(void) foo;
|
|
@end
|
|
|
|
void *ip;
|
|
|
|
void (*func1)(void);
|
|
|
|
struct
|
|
{
|
|
int a:2;
|
|
} struct1,struct2[2];
|
|
|
|
union
|
|
{
|
|
int a:2;
|
|
} union1,union2[2];
|
|
|
|
Foo **f;
|
|
|
|
int main(int argc,char **argv)
|
|
{
|
|
[(struct {int a;} *)ip foo]; /* { dg-warning "invalid receiver type" } */
|
|
[func1 foo]; /* { dg-warning "invalid receiver type" } */
|
|
[struct1.a foo]; /* { dg-warning "invalid receiver type" } */
|
|
/* { dg-warning "cast to pointer from integer" "" { target *-*-* } 28 } */
|
|
[union1.a foo]; /* { dg-warning "invalid receiver type" } */
|
|
/* { dg-warning "cast to pointer from integer" "" { target *-*-* } 30 } */
|
|
[struct1 foo]; /* { dg-warning "invalid receiver type" } */
|
|
/* { dg-error "cannot convert" "" { target *-*-* } 32 } */
|
|
[union1 foo]; /* { dg-warning "invalid receiver type" } */
|
|
/* { dg-error "cannot convert" "" { target *-*-* } 34 } */
|
|
[struct2 foo]; /* { dg-warning "invalid receiver type" } */
|
|
/* { dg-error "cannot convert" "" { target *-*-* } 36 } */
|
|
[union2 foo]; /* { dg-warning "invalid receiver type" } */
|
|
/* { dg-error "cannot convert" "" { target *-*-* } 38 } */
|
|
[f foo]; /* { dg-warning "invalid receiver type" } */
|
|
}
|