diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2008-11-20 00:15:42 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2008-11-20 00:15:42 +0000 |
| commit | 003e83004b366285c2f15b6d871754775f5bd291 (patch) | |
| tree | 68758261c6bd8fedf97aaa73a2fac9ec0add8162 /clang/lib/Sema/SemaDeclAttr.cpp | |
| parent | 8d5b57b35438290d2007ae33c6408cf443dd616e (diff) | |
| download | bcm5719-llvm-003e83004b366285c2f15b6d871754775f5bd291.tar.gz bcm5719-llvm-003e83004b366285c2f15b6d871754775f5bd291.zip | |
More objc gc stuff. Read/Write barriers for local static/extern,
diagnostics on use of __weak attribute on fields,
Early support for read/write barriers for objc fields.
llvm-svn: 59682
Diffstat (limited to 'clang/lib/Sema/SemaDeclAttr.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 4bf55dd7f01..57d1cc7fa0b 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -555,8 +555,11 @@ static void HandleObjCGCAttr(Decl *d, const AttributeList &Attr, Sema &S) { ObjCGCAttr::GCAttrTypes type; - if (Attr.getParameterName()->isName("weak")) + if (Attr.getParameterName()->isName("weak")) { + if (isa<FieldDecl>(d)) + S.Diag(Attr.getLoc(), diag::warn_attribute_weak_on_field); type = ObjCGCAttr::Weak; + } else if (Attr.getParameterName()->isName("strong")) type = ObjCGCAttr::Strong; else { |

