// RUN: %clang_cc1 -triple i386-unknown-unknown -fobjc-runtime=macosx-fragile-10.5 %s -fsyntax-only @interface Test { double a; } @end @implementation Test @end @interface TestObject : Test { @public float bar; int foo; } @end @implementation TestObject @end struct wibble { @defs(TestObject) }; extern void *malloc(__typeof__(sizeof(0))); extern int printf(const char *, ...); int main(void) { TestObject * a = (id)malloc(100); a->foo = 12; printf("12: %d\n", ((struct wibble*)a)->foo); printf("%d: %d\n", ((char*)&(((struct wibble*)a)->foo)) - (char*)a, ((char*)&(a->foo)) - (char*)a); return 0; }