diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-06-05 05:27:58 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-06-05 05:27:58 +0000 |
commit | 63f62df485de57c6b0db167d96bb0f92562adb7b (patch) | |
tree | 86fa5ee66e39de262e8e2fcfa44ecb4b18a307f6 /test/CodeGenCXX/mangle-exprs.cpp | |
parent | bc3e64f37fe2c68ab4bfcedf6f428e0198f2e349 (diff) |
Add name mangling for expr .* expr. Fixes PR9983 / <rdar://problem/9486332>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132659 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/mangle-exprs.cpp')
-rw-r--r-- | test/CodeGenCXX/mangle-exprs.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGenCXX/mangle-exprs.cpp b/test/CodeGenCXX/mangle-exprs.cpp index 46c46f04a8..75294e059c 100644 --- a/test/CodeGenCXX/mangle-exprs.cpp +++ b/test/CodeGenCXX/mangle-exprs.cpp @@ -109,3 +109,19 @@ namespace test2 { // CHECK: store float {{.*}}, float* @_ZZN5test21gIPFfvEEEvT_DTclfL0p_EEE8variable, } + +namespace test3 { + template <class T, class U> void a(T x, U y, decltype(x.*y) z) {} + + struct X { + int *member; + }; + + // CHECK: define void @_ZN5test311instantiateEv + void instantiate() { + X x; + int *ip; + // CHECK: call void @_ZN5test31aINS_1XEMS1_PiEEvT_T0_DTdsfL0p_fL0p0_E + a(x, &X::member, ip); + } +} |