diff options
author | rdivacky <rdivacky@FreeBSD.org> | 2010-03-06 09:23:02 +0000 |
---|---|---|
committer | rdivacky <rdivacky@FreeBSD.org> | 2010-03-06 09:23:02 +0000 |
commit | d2e6cf1d1c6468396ec057119c32aa58b1ee5ac9 (patch) | |
tree | 7e0a88c3c6cb70271946aaa95a231b3da55d9f91 /test/CodeGenObjC | |
parent | df90325d4c0a65ee64d2dae3ed9b5b34f7418533 (diff) | |
download | FreeBSD-src-d2e6cf1d1c6468396ec057119c32aa58b1ee5ac9.zip FreeBSD-src-d2e6cf1d1c6468396ec057119c32aa58b1ee5ac9.tar.gz |
Update clang to r97873.
Diffstat (limited to 'test/CodeGenObjC')
-rw-r--r-- | test/CodeGenObjC/id-isa-codegen.m | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/test/CodeGenObjC/id-isa-codegen.m b/test/CodeGenObjC/id-isa-codegen.m index 3179e11..e893aaa 100644 --- a/test/CodeGenObjC/id-isa-codegen.m +++ b/test/CodeGenObjC/id-isa-codegen.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o %t %s +// RUN: %clang_cc1 -emit-llvm -o - %s typedef struct objc_class *Class; @@ -48,3 +48,19 @@ id Test2() { return (*[Foo method]).isa; return [Foo method]->isa; } + +// rdar 7709015 +@interface Cat {} +@end + +@interface SuperCat : Cat {} ++(void)geneticallyAlterCat:(Cat *)cat; +@end + +@implementation SuperCat ++ (void)geneticallyAlterCat:(Cat *)cat { + Class dynamicSubclass; + ((id)cat)->isa = dynamicSubclass; +} +@end + |