git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59743 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Fariborz Jahanian 2008-11-20 19:35:51 +00:00
Родитель 7eda8367cf
Коммит 24b93f2deb
2 изменённых файлов: 12 добавлений и 1 удалений

Просмотреть файл

@ -556,7 +556,7 @@ static void HandleObjCGCAttr(Decl *d, const AttributeList &Attr, Sema &S) {
ObjCGCAttr::GCAttrTypes type;
if (Attr.getParameterName()->isStr("weak")) {
if (isa<FieldDecl>(d))
if (isa<FieldDecl>(d) && !isa<ObjCIvarDecl>(d))
S.Diag(Attr.getLoc(), diag::warn_attribute_weak_on_field);
type = ObjCGCAttr::Weak;
}

Просмотреть файл

@ -5,6 +5,17 @@ struct S {
__strong id p1;
};
@interface I
{
__weak id w; // OK
__strong id LHS;
}
- (void) foo;
@end
@implementation I
- (void) foo { w = 0; LHS = w; }
@end
int main ()
{
struct I {