1*67e74705SXin Li// RUN: %clang_cc1 -triple i386-unknown-unknown -fobjc-runtime=macosx-fragile-10.5 %s -fsyntax-only 2*67e74705SXin Li 3*67e74705SXin Li@interface Test { 4*67e74705SXin Li double a; 5*67e74705SXin Li} 6*67e74705SXin Li@end 7*67e74705SXin Li@implementation Test 8*67e74705SXin Li@end 9*67e74705SXin Li@interface TestObject : Test { 10*67e74705SXin Li@public 11*67e74705SXin Li float bar; 12*67e74705SXin Li int foo; 13*67e74705SXin Li} 14*67e74705SXin Li@end 15*67e74705SXin Li@implementation TestObject 16*67e74705SXin Li@end 17*67e74705SXin Listruct wibble { 18*67e74705SXin Li @defs(TestObject) 19*67e74705SXin Li}; 20*67e74705SXin Li 21*67e74705SXin Li 22*67e74705SXin Liint main(void) 23*67e74705SXin Li{ 24*67e74705SXin Li TestObject * a = (id)malloc(100); 25*67e74705SXin Li a->foo = 12; 26*67e74705SXin Li printf("12: %d\n", ((struct wibble*)a)->foo); 27*67e74705SXin Li printf("%d: %d\n", ((char*)&(((struct wibble*)a)->foo)) - (char*)a, ((char*)&(a->foo)) - (char*)a); 28*67e74705SXin Li return 0; 29*67e74705SXin Li} 30