diff options
author | John McCall <rjmccall@apple.com> | 2012-07-31 05:14:30 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2012-07-31 05:14:30 +0000 |
commit | 1503f0ddab0057e33efa21393fc0577580d6287a (patch) | |
tree | fca5d7048322a3fb50866cda51890fdda6a9573a /lib/CodeGen | |
parent | b48280ba1790122cd3fa6e17c88ecd6a4571a4eb (diff) |
Introduce new queries on ObjCRuntime for how to interpret subscripts
on object pointers and whether pointer arithmetic on object pointers
is supported. Make ObjFW interpret subscripts as pseudo-objects.
Based on a patch by Jonathan Schleifer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161028 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/CGObjCGNU.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/CodeGen/CGObjCGNU.cpp b/lib/CodeGen/CGObjCGNU.cpp index 9993f448f7..166bb9a2c0 100644 --- a/lib/CodeGen/CGObjCGNU.cpp +++ b/lib/CodeGen/CGObjCGNU.cpp @@ -653,8 +653,11 @@ class CGObjCGNUstep : public CGObjCGNU { } }; -/// Class used when targeting the ObjFW runtime. -class CGObjCObjFW: public CGObjCGCC { +/// The ObjFW runtime, which closely follows the GCC runtime's +/// compiler ABI. Support here is due to Jonathan Schleifer, the +/// ObjFW maintainer. +class CGObjCObjFW : public CGObjCGCC { + /// Emit class references unconditionally as direct symbol references. virtual llvm::Value *GetClassNamed(CGBuilderTy &Builder, const std::string &Name, bool isWeak) { if (isWeak) |