| // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s |
| // RUN: grep objc_assign_ivar %t | count 0 |
| // RUN: grep objc_assign_strongCast %t | count 5 |
| // RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o %t %s |
| // RUN: grep objc_assign_ivar %t | count 0 |
| // RUN: grep objc_assign_strongCast %t | count 5 |
| |
| @interface TestUnarchiver |
| { |
| void *allUnarchivedObjects; |
| } |
| @end |
| |
| @implementation TestUnarchiver |
| |
| struct unarchive_list { |
| int ifield; |
| id *list; |
| }; |
| |
| - (id)init { |
| (*((struct unarchive_list *)allUnarchivedObjects)).list = 0; |
| ((struct unarchive_list *)allUnarchivedObjects)->list = 0; |
| (**((struct unarchive_list **)allUnarchivedObjects)).list = 0; |
| (*((struct unarchive_list **)allUnarchivedObjects))->list = 0; |
| return 0; |
| } |
| |
| @end |