xref: /aosp_15_r20/external/clang/test/SemaObjC/method-warn-unused-attribute.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
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