This patch provides preliminary support for non-fragile instance variables on the GNU runtime. It currently requires a patches to GNU libobjc (and so is not enabled by default) which are currently being tested and reviewed by GNUstep before being pushed upstream.
This patch does not allow support for synthesized ivars, but does provide the infrastructure needed for supporting them.
David
clang.diff (5.87 KB)
Ooops - I had the versions the wrong way around in the old patch. Didn't notice until I tried testing it with the old runtime. This patch fixes that.
David
clang.diff (5.87 KB)
Hi David,
This patch crashes three test cases in x86_64 mode for the Gnu runtime.
---- /Volumes/sandbox/llvm/tools/clang/test/CodeGenObjC//objc2-retain-codegen.m failed ----
---- /Volumes/sandbox/llvm/tools/clang/test/CodeGenObjC//class-type.m failed ----
.
---- /Volumes/sandbox/llvm/tools/clang/test/CodeGenObjC//objc2-strong-cast-1.m failed ----
- Fariborz
Checked in r72175
The version which fixed the test failures.