| // RUN: %clang_cc1 -fobjc-gc -triple x86_64-apple-darwin10 -emit-llvm -o - %s | |
| // rdar: // 7501812 | |
| struct A { | |
| int member; | |
| void foo(); | |
| A *operator->(); | |
| }; | |
| struct B : A { }; | |
| @interface BInt { | |
| @private | |
| B *b; | |
| } | |
| - (B)value; | |
| - (void)setValue : (B) arg; | |
| @property B value; | |
| @end | |
| void g(BInt *bint) { | |
| bint.value.foo(); | |
| bint.value->member = 17; | |
| int x = bint.value.member; | |
| } | |