1*67e74705SXin Li// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -emit-llvm -o %t %s 2*67e74705SXin Li// RUN: not grep objc_assign_ivar %t 3*67e74705SXin Li// RUN: grep objc_assign_strongCast %t | count 8 4*67e74705SXin Li// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -emit-llvm -o %t %s 5*67e74705SXin Li// RUN: not grep objc_assign_ivar %t 6*67e74705SXin Li// RUN: grep objc_assign_strongCast %t | count 8 7*67e74705SXin Li 8*67e74705SXin Li@interface TestUnarchiver 9*67e74705SXin Li{ 10*67e74705SXin Li void *allUnarchivedObjects; 11*67e74705SXin Li} 12*67e74705SXin Li@end 13*67e74705SXin Li 14*67e74705SXin Li@implementation TestUnarchiver 15*67e74705SXin Li 16*67e74705SXin Listruct unarchive_list { 17*67e74705SXin Li int ifield; 18*67e74705SXin Li id *list; 19*67e74705SXin Li}; 20*67e74705SXin Li 21*67e74705SXin Li- (id)init { 22*67e74705SXin Li (*((struct unarchive_list *)allUnarchivedObjects)).list = 0; 23*67e74705SXin Li ((struct unarchive_list *)allUnarchivedObjects)->list = 0; 24*67e74705SXin Li (**((struct unarchive_list **)allUnarchivedObjects)).list = 0; 25*67e74705SXin Li (*((struct unarchive_list **)allUnarchivedObjects))->list = 0; 26*67e74705SXin Li return 0; 27*67e74705SXin Li} 28*67e74705SXin Li 29*67e74705SXin Li@end 30*67e74705SXin Li 31*67e74705SXin Li// rdar://10191569 32*67e74705SXin Li@interface I 33*67e74705SXin Li{ 34*67e74705SXin Li struct S { 35*67e74705SXin Li id _timer; 36*67e74705SXin Li } *p_animationState; 37*67e74705SXin Li} 38*67e74705SXin Li@end 39*67e74705SXin Li 40*67e74705SXin Li@implementation I 41*67e74705SXin Li- (void) Meth { 42*67e74705SXin Li p_animationState->_timer = 0; 43*67e74705SXin Li (*p_animationState)._timer = 0; 44*67e74705SXin Li (&(*p_animationState))->_timer = 0; 45*67e74705SXin Li} 46*67e74705SXin Li@end 47