1/* Check if sending messages to "underspecified" objects is handled gracefully. */ 2/* Author: Ziemowit Laski <zlaski@apple.com>. */ 3/* { dg-do compile } */ 4 5@class UnderSpecified; 6typedef struct NotAClass { 7 int a, b; 8} NotAClass; 9 10void foo(UnderSpecified *u, NotAClass *n) { 11 [n nonexistent_method]; /* { dg-warning "invalid receiver type" } */ 12 /* { dg-warning "no .\\-nonexistent_method. method found" "" { target *-*-* } .-1 } */ 13 [NotAClass nonexistent_method]; /* { dg-error ".NotAClass. is not an Objective\\-C class name or alias" } */ 14 [u nonexistent_method]; /* { dg-warning ".interface of class .UnderSpecified. not found" } */ 15 /* { dg-warning "no .\\-nonexistent_method. method found" "" { target *-*-* } .-1 } */ 16 [UnderSpecified nonexistent_method]; /* { dg-warning ".interface of class .UnderSpecified. not found" } */ 17 /* { dg-warning "no .\\+nonexistent_method. method found" "" { target *-*-* } .-1 } */ 18} 19 20/* { dg-warning "Messages without a matching method signature" "" { target *-*-* } 0 } */ 21/* { dg-warning "will be assumed to return .id. and accept" "" { target *-*-* } 0 } */ 22/* { dg-warning ".\.\.\.. as arguments" "" { target *-*-* } 0 } */ 23