summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclAttr.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2008-11-20 00:15:42 +0000
committerFariborz Jahanian <fjahanian@apple.com>2008-11-20 00:15:42 +0000
commit003e83004b366285c2f15b6d871754775f5bd291 (patch)
tree68758261c6bd8fedf97aaa73a2fac9ec0add8162 /clang/lib/Sema/SemaDeclAttr.cpp
parent8d5b57b35438290d2007ae33c6408cf443dd616e (diff)
downloadbcm5719-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.cpp5
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 {
OpenPOWER on IntegriCloud