diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2009-10-26 21:58:25 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2009-10-26 21:58:25 +0000 |
commit | 038374f887757e93c2def75efbd3b705fe798b2a (patch) | |
tree | cf08aa91f9552dfa15e1546d846ff61ae5daeeb3 /clang/test/CodeGenCXX/ptr-to-datamember.cpp | |
parent | 3b7ba5f35b00ded87eff26542ccbcd2fcfe8d7eb (diff) | |
download | bcm5719-llvm-038374f887757e93c2def75efbd3b705fe798b2a.tar.gz bcm5719-llvm-038374f887757e93c2def75efbd3b705fe798b2a.zip |
Add Code gen support for '->*' operator which fell
through the crack.
llvm-svn: 85160
Diffstat (limited to 'clang/test/CodeGenCXX/ptr-to-datamember.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/ptr-to-datamember.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/ptr-to-datamember.cpp b/clang/test/CodeGenCXX/ptr-to-datamember.cpp index eee03c060f9..a7b4cc2f7af 100644 --- a/clang/test/CodeGenCXX/ptr-to-datamember.cpp +++ b/clang/test/CodeGenCXX/ptr-to-datamember.cpp @@ -51,6 +51,21 @@ void test_aggr_pdata(A& a1) { pr(a1.*af); } +void test_aggr_pdata_1(A* pa) { + F A::* af = &A::Af; + pr(pa->*af); + + (pa->*af).iF = 100; + (pa->*af).fF = 200.00; + printf(" %d %f\n", (pa->*af).iF, (pa->*af).fF); + pr(pa->*af); + + (pa->*af).iF++; + (pa->*af).fF--; + --(pa->*af).fF; + pr(pa->*af); +} + int main() { A a1; @@ -67,4 +82,5 @@ int main() printf("%d\n", &A::B1::V::iV); printf("%d, %f, %f \n", a1.*pa, a1.*pf, a1.*pd); test_aggr_pdata(a1); + test_aggr_pdata_1(&a1); } |