diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-10-24 20:47:04 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-10-24 20:47:04 +0000 |
commit | afecd837466d7581d4595aba03911ed5c8ac1bcc (patch) | |
tree | ae426b2125ba7d814b192ddea9bbfc7d92c25ab9 /clang/test/CodeGenCXX/mangle.cpp | |
parent | 0fab40b9150219e224b65d3dfea3aa10c75455c6 (diff) | |
download | bcm5719-llvm-afecd837466d7581d4595aba03911ed5c8ac1bcc.tar.gz bcm5719-llvm-afecd837466d7581d4595aba03911ed5c8ac1bcc.zip |
Fix bug where one of the cases where we mangle a <bare-unresolved-name> failed
to emit the <template-args> portion. Refactor so that mangleUnresolvedName
actually emits the entire <unresolved-name>, so this mistake is harder to make
again.
llvm-svn: 285022
Diffstat (limited to 'clang/test/CodeGenCXX/mangle.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/mangle.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle.cpp b/clang/test/CodeGenCXX/mangle.cpp index 8ae67c415ae..3a94071294d 100644 --- a/clang/test/CodeGenCXX/mangle.cpp +++ b/clang/test/CodeGenCXX/mangle.cpp @@ -1118,3 +1118,10 @@ namespace test56 { // CHECK-LABEL: @_ZN6test561fILi0EEEvDTplptL_ZNS_1aEE1nT_E template void f<0>(int); } + +namespace test57 { + struct X { template <int N> int f(); } x; + template<int N> void f(decltype(x.f<0>() + N)) {} + // CHECK-LABEL: @_ZN6test571fILi0EEEvDTplcldtL_ZNS_1xEE1fIXLi0EEEET_E + template void f<0>(int); +} |