// RUN: %clang_cc1 -fsyntax-only -verify %s
;
S *
S
S *
S
void
void // expected-warning{{os_consumed attribute only applies to pointer parameters}}
void // expected-error{{'os_consumed' attribute takes no arguments}}
; // expected-warning{{'os_consumed' attribute only applies to parameters}}
S*
; // expected-warning{{'os_returns_retained' attribute only applies to functions, Objective-C methods, Objective-C properties, and parameters}}
S*
; // expected-warning{{'os_returns_not_retained' attribute only applies to functions, Objective-C methods, Objective-C properties, and parameters}}
void // expected-warning{{'os_consumes_this' attribute only applies to non-static member functions}}
void
bool
bool // expected-warning{{'os_returns_retained_on_non_zero' attribute only applies to pointer/reference-to-OSObject-pointer parameters}}
bool
bool // expected-warning{{'os_returns_retained_on_zero' attribute only applies to pointer/reference-to-OSObject-pointer parameters}}
void
typedef S* SPtr;
void
void // expected-warning{{'os_returns_retained' attribute only applies to pointer/reference-to-OSObject-pointer parameters}}
void
void
void // expected-warning{{'os_returns_not_retained' attribute only applies to pointer/reference-to-OSObject-pointer parameters}}
void // expected-warning{{'os_returns_not_retained' attribute only applies to pointer/reference-to-OSObject-pointer parameters}}