summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2011-10-18 19:54:31 +0000
committerFariborz Jahanian <fjahanian@apple.com>2011-10-18 19:54:31 +0000
commit2f31b33f34f569d180ab5848d0c5581c9e1f74ee (patch)
treea757f80aee24d756c8b9490caa612c66f282812d /clang
parent443410d72287bec39e66b436b4fcccb5756a9a10 (diff)
downloadbcm5719-llvm-2f31b33f34f569d180ab5848d0c5581c9e1f74ee.tar.gz
bcm5719-llvm-2f31b33f34f569d180ab5848d0c5581c9e1f74ee.zip
objc: more changes in use of IBOutletCollection attribute.
'Class' is disallowed as argument. If the argument is missing, NSObject is assumed. // rdar://10296078 llvm-svn: 142409
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Sema/SemaDeclAttr.cpp5
-rw-r--r--clang/test/SemaObjC/iboutletcollection-attr.m2
2 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp
index 69baf79ad0f..b83b716fdf0 100644
--- a/clang/lib/Sema/SemaDeclAttr.cpp
+++ b/clang/lib/Sema/SemaDeclAttr.cpp
@@ -805,7 +805,7 @@ static void handleIBOutletCollection(Sema &S, Decl *D,
IdentifierInfo *II = Attr.getParameterName();
if (!II)
- II = &S.Context.Idents.get("id");
+ II = &S.Context.Idents.get("NSObject");
ParsedType TypeRep = S.getTypeName(*II, Attr.getLoc(),
S.getScopeForContext(D->getDeclContext()->getParent()));
@@ -818,8 +818,7 @@ static void handleIBOutletCollection(Sema &S, Decl *D,
// FIXME. Gnu attribute extension ignores use of builtin types in
// attributes. So, __attribute__((iboutletcollection(char))) will be
// treated as __attribute__((iboutletcollection())).
- if (!QT->isObjCIdType() && !QT->isObjCClassType() &&
- !QT->isObjCObjectType()) {
+ if (!QT->isObjCIdType() && !QT->isObjCObjectType()) {
S.Diag(Attr.getLoc(), diag::err_iboutletcollection_type) << II;
return;
}
diff --git a/clang/test/SemaObjC/iboutletcollection-attr.m b/clang/test/SemaObjC/iboutletcollection-attr.m
index 052fe9fb00b..1491b3292d4 100644
--- a/clang/test/SemaObjC/iboutletcollection-attr.m
+++ b/clang/test/SemaObjC/iboutletcollection-attr.m
@@ -2,6 +2,8 @@
// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify %s
// rdar://8308053
+@class NSObject;
+
@interface I {
__attribute__((iboutletcollection(I))) id ivar1;
__attribute__((iboutletcollection(id))) id ivar2;
OpenPOWER on IntegriCloud