aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-12-09 19:05:56 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-12-09 19:05:56 +0000
commit83dc32594cde6bd083bd8b98b24bde2346585cad (patch)
treecf88a7c47256a426e396ef4ad2c59add12c31659 /test
parente4cb2a4b4ad6b9596f9109945a5b3a87949f375b (diff)
Codegen. support for ObjCIsaExpr AST which until now
was not needed (fixes radar 7453430). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90981 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGenObjC/id-isa-codegen.m24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/CodeGenObjC/id-isa-codegen.m b/test/CodeGenObjC/id-isa-codegen.m
new file mode 100644
index 0000000000..a9ab4251e2
--- /dev/null
+++ b/test/CodeGenObjC/id-isa-codegen.m
@@ -0,0 +1,24 @@
+// RUN: clang-cc -emit-llvm -o %t %s
+
+typedef struct objc_class *Class;
+
+typedef struct objc_object {
+ Class isa;
+} *id;
+
+@interface I
++ (Class) class;
+- (void)meth : (id)object;
++ (unsigned char) isSubclassOfClass:(Class)aClass ;
+@end
+
+@implementation I
++ (Class) class {return 0;}
++ (unsigned char) isSubclassOfClass:(Class)aClass {return 0;}
+- (void)meth : (id)object {
+ [object->isa isSubclassOfClass:[I class]];
+
+ [(*object).isa isSubclassOfClass:[I class]];
+}
+@end
+