diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-07-12 22:16:25 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-07-12 22:16:25 +0000 |
commit | a200973eadbcac4683293a954ae94dc564ac0796 (patch) | |
tree | 440fe27191b17b93919c26c0f7a5ae77d3f2f76c /clang/lib/ARCMigrate/Transforms.cpp | |
parent | ce9b73999974bf2efae2dd614dcec67017b817fe (diff) | |
download | bcm5719-llvm-a200973eadbcac4683293a954ae94dc564ac0796.tar.gz bcm5719-llvm-a200973eadbcac4683293a954ae94dc564ac0796.zip |
[arcmt] Also avoid 'weak' for forward references to objc classes.
llvm-svn: 135003
Diffstat (limited to 'clang/lib/ARCMigrate/Transforms.cpp')
-rw-r--r-- | clang/lib/ARCMigrate/Transforms.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/ARCMigrate/Transforms.cpp b/clang/lib/ARCMigrate/Transforms.cpp index c2f85f65b76..c0a7b95fe88 100644 --- a/clang/lib/ARCMigrate/Transforms.cpp +++ b/clang/lib/ARCMigrate/Transforms.cpp @@ -75,6 +75,8 @@ bool trans::canApplyWeak(ASTContext &Ctx, QualType type) { ObjCInterfaceDecl *Class = ObjT->getInterfaceDecl(); if (!Class || Class->getName() == "NSObject") return false; // id/NSObject is not safe for weak. + if (Class->isForwardDecl()) + return false; // forward classes are not verifiable, therefore not safe. if (Class->isArcWeakrefUnavailable()) return false; if (isClassInWeakBlacklist(Class)) |