summaryrefslogtreecommitdiffstats
path: root/include/clang/Basic/ObjCRuntime.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2012-07-12 02:07:58 +0000
committerJohn McCall <rjmccall@apple.com>2012-07-12 02:07:58 +0000
commitf7226fbe677a9c7578fa0613491ed15c6dc6a5e1 (patch)
tree341afe4f4a4d8d3068a7e0164dc9f2e825d21e8e /include/clang/Basic/ObjCRuntime.h
parentdc5796cb3e77feb58928f84632d3f0088351d847 (diff)
Add the ObjFW runtime. Patch by Jonathan Schleifer!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160102 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/ObjCRuntime.h')
-rw-r--r--include/clang/Basic/ObjCRuntime.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/clang/Basic/ObjCRuntime.h b/include/clang/Basic/ObjCRuntime.h
index 228135d094..da3ecca0f8 100644
--- a/include/clang/Basic/ObjCRuntime.h
+++ b/include/clang/Basic/ObjCRuntime.h
@@ -46,7 +46,10 @@ public:
GCC,
/// 'gnustep' is the modern non-fragile GNUstep runtime.
- GNUstep
+ GNUstep,
+
+ /// 'objfw' is the Objective-C runtime included in ObjFW
+ ObjFW
};
private:
@@ -76,6 +79,7 @@ public:
case GCC: return false;
case MacOSX: return true;
case GNUstep: return true;
+ case ObjFW: return false;
case iOS: return true;
}
llvm_unreachable("bad kind");
@@ -109,6 +113,7 @@ public:
return false;
case GCC:
case GNUstep:
+ case ObjFW:
return true;
}
llvm_unreachable("bad kind");
@@ -134,6 +139,7 @@ public:
case GCC: return false;
case GNUstep: return getVersion() >= VersionTuple(1, 6);
+ case ObjFW: return false; // XXX: this will change soon
}
llvm_unreachable("bad kind");
}
@@ -159,6 +165,7 @@ public:
// should imply a "maximal" runtime or something?
case GCC: return true;
case GNUstep: return true;
+ case ObjFW: return true;
}
llvm_unreachable("bad kind");
}
@@ -174,6 +181,7 @@ public:
case iOS: return getVersion() >= VersionTuple(5);
case GCC: return false;
case GNUstep: return false;
+ case ObjFW: return false;
}
llvm_unreachable("bad kind");
}
@@ -186,6 +194,7 @@ public:
case FragileMacOSX: return false;
case GCC: return true;
case GNUstep: return true;
+ case ObjFW: return true;
}
llvm_unreachable("bad kind");
}
@@ -197,6 +206,7 @@ public:
case FragileMacOSX: return false;
case GCC: return true;
case GNUstep: return true;
+ case ObjFW: return true;
}
llvm_unreachable("bad kind");
}