1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -Wunused-value -verify %s 2*67e74705SXin Li 3*67e74705SXin Li@interface INTF 4*67e74705SXin Li- (id) foo __attribute__((warn_unused_result)); 5*67e74705SXin Li- (void) garf __attribute__((warn_unused_result)); // expected-warning {{attribute 'warn_unused_result' cannot be applied to Objective-C method without return value}} 6*67e74705SXin Li- (int) fee __attribute__((warn_unused_result)); 7*67e74705SXin Li+ (int) c __attribute__((warn_unused_result)); 8*67e74705SXin Li@end 9*67e74705SXin Li 10*67e74705SXin Livoid foo(INTF *a) { 11*67e74705SXin Li [a garf]; 12*67e74705SXin Li [a fee]; // expected-warning {{ignoring return value of function declared with 'warn_unused_result' attribute}} 13*67e74705SXin Li [INTF c]; // expected-warning {{ignoring return value of function declared with 'warn_unused_result' attribute}} 14*67e74705SXin Li} 15*67e74705SXin Li 16*67e74705SXin Li 17