// RUN: %clang_cc1 -verify -fsyntax-only -fobjc-arc -fblocks %s
// expected-error@-1 {{okay!}}
int x CF_RETURNS_RETAINED; // expected-warning{{'cf_returns_retained' attribute only applies to functions, methods, and parameters}}
int y CF_RETURNS_NOT_RETAINED; // expected-warning{{'cf_returns_not_retained' attribute only applies to functions, methods, and parameters}}
typedef struct __CFFoo *CFFooRef;
int CF_RETURNS_RETAINED; // expected-warning{{'cf_returns_retained' attribute only applies to functions that return a pointer}}
void CF_RETURNS_RETAINED; // expected-warning{{'cf_returns_retained' attribute only applies to functions that return a pointer}}
CFFooRef CF_RETURNS_RETAINED;
id CF_RETURNS_RETAINED;
void ; // expected-warning{{'cf_returns_retained' attribute only applies to pointer-to-CF-pointer parameters}}
void ;
void ;