summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-10-24 20:29:40 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-10-24 20:29:40 +0000
commit4631be74027bf2fcaea44c3a30758b2fdcacf6c8 (patch)
tree39930e2c25c400e065d6aab91c429f3e062117b5 /clang/test/CodeGenCXX/mangle.cpp
parentc968297b952739f33e48746f4bb53eef10372cd4 (diff)
downloadbcm5719-llvm-4631be74027bf2fcaea44c3a30758b2fdcacf6c8.tar.gz
bcm5719-llvm-4631be74027bf2fcaea44c3a30758b2fdcacf6c8.zip
Fix mangling of implicit calls to operator-> to only include a single "pt",
rather than including an extra one for each level of 'operator->()' invoked. llvm-svn: 285015
Diffstat (limited to 'clang/test/CodeGenCXX/mangle.cpp')
-rw-r--r--clang/test/CodeGenCXX/mangle.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle.cpp b/clang/test/CodeGenCXX/mangle.cpp
index 5d757102ed2..8ae67c415ae 100644
--- a/clang/test/CodeGenCXX/mangle.cpp
+++ b/clang/test/CodeGenCXX/mangle.cpp
@@ -1111,3 +1111,10 @@ void fn(T, __underlying_type(T)) {}
template void fn<E>(E, __underlying_type(E));
// CHECK-LABEL: @_ZN6test552fnINS_1EEEEvT_U3eutS2_
}
+
+namespace test56 {
+ struct A { A *operator->(); int n; } a;
+ template<int N> void f(decltype(a->n + N)) {}
+ // CHECK-LABEL: @_ZN6test561fILi0EEEvDTplptL_ZNS_1aEE1nT_E
+ template void f<0>(int);
+}
OpenPOWER on IntegriCloud