summaryrefslogtreecommitdiff
path: root/include/clang/Basic/ObjCRuntime.h
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2012-10-15 22:23:53 +0000
committerDaniel Dunbar <daniel@zuster.org>2012-10-15 22:23:53 +0000
commit7a0c064770355a4918df69f95de8dea6338a59a2 (patch)
tree432513d09dee9929231b3f91f2c2a41efa5bddeb /include/clang/Basic/ObjCRuntime.h
parent6cf7d7d0866b431388001b972762ef6e1ec1664b (diff)
downloadclang-7a0c064770355a4918df69f95de8dea6338a59a2.tar.gz
clang-7a0c064770355a4918df69f95de8dea6338a59a2.tar.bz2
clang-7a0c064770355a4918df69f95de8dea6338a59a2.tar.xz
Un-revert r164907 and r164902 (+ follow-ups), 10.6 build fix to follow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165988 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/ObjCRuntime.h')
-rw-r--r--include/clang/Basic/ObjCRuntime.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/clang/Basic/ObjCRuntime.h b/include/clang/Basic/ObjCRuntime.h
index 2ca421bb57..d543b76715 100644
--- a/include/clang/Basic/ObjCRuntime.h
+++ b/include/clang/Basic/ObjCRuntime.h
@@ -157,6 +157,19 @@ public:
llvm_unreachable("bad kind");
}
+ /// \brief Does this runtime supports optimized setter entrypoints?
+ bool hasOptimizedSetter() const {
+ switch (getKind()) {
+ case MacOSX:
+ return getVersion() >= VersionTuple(10, 8);
+ case iOS:
+ return (getVersion() >= VersionTuple(6));
+
+ default:
+ return false;
+ }
+ }
+
/// Does this runtime allow the use of __weak?
bool allowsWeak() const {
return hasNativeWeak();
@@ -177,7 +190,7 @@ public:
switch (getKind()) {
case FragileMacOSX: return false;
case MacOSX: return getVersion() >= VersionTuple(10, 8);
- case iOS: return false;
+ case iOS: return getVersion() >= VersionTuple(6);
// This is really a lie, because some implementations and versions
// of the runtime do not support ARC. Probably -fgnu-runtime