diff options
author | Anders Carlsson <andersca@mac.com> | 2009-12-23 19:30:55 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-12-23 19:30:55 +0000 |
commit | 910847c149b2668f4e3448049df0c9ad621c24c7 (patch) | |
tree | 711d1cedcfa77627a51d2b035f13ed3380697dd6 /clang/test/CodeGenCXX/mangle.cpp | |
parent | 2ec90035e8572565e68935eebd3f03f0ee49d074 (diff) | |
download | bcm5719-llvm-910847c149b2668f4e3448049df0c9ad621c24c7.tar.gz bcm5719-llvm-910847c149b2668f4e3448049df0c9ad621c24c7.zip |
Mangle template template parameters. Fixes PR5861.
llvm-svn: 92030
Diffstat (limited to 'clang/test/CodeGenCXX/mangle.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/mangle.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle.cpp b/clang/test/CodeGenCXX/mangle.cpp index 88465cf9d98..e57fbe34338 100644 --- a/clang/test/CodeGenCXX/mangle.cpp +++ b/clang/test/CodeGenCXX/mangle.cpp @@ -290,3 +290,19 @@ Ops& Ops::operator&(const Ops&) { return *this; } // CHECK: define %struct.Ops* @_ZN3OpsmlERKS_ Ops& Ops::operator*(const Ops&) { return *this; } +// PR5861 +namespace PR5861 { +template<bool> class P; +template<> class P<true> {}; + +template<template <bool> class, bool> +struct Policy { }; + +template<typename T, typename = Policy<P, true> > class Alloc +{ + T *allocate(int, const void*) { return 0; } +}; + +// CHECK: define i8* @_ZN6PR58615AllocIcNS_6PolicyINS_1PELb1EEEE8allocateEiPKv +template class Alloc<char>; +} |