diff options
author | David Majnemer <david.majnemer@gmail.com> | 2013-08-13 01:25:35 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2013-08-13 01:25:35 +0000 |
commit | f2081f685a021d1a50ded55cb23c7f039a037e7c (patch) | |
tree | 59d76c0996b0b40ee6173b18126d88ca24815efe /test/CodeGenCXX/mangle-ms-templates.cpp | |
parent | a72f7206a71b3901d1b4b2b4718a5013f46010f2 (diff) |
[-cxx-abi microsoft] Mangle TemplateArgument::Declaration for references
Summary:
Properly mangle declarations showing up in template arguments that are
reference parameters. Fun-fact: undname cannot handle these!
Reviewers: rnk, cdavis5x
Reviewed By: rnk
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1356
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188245 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/mangle-ms-templates.cpp')
-rw-r--r-- | test/CodeGenCXX/mangle-ms-templates.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGenCXX/mangle-ms-templates.cpp b/test/CodeGenCXX/mangle-ms-templates.cpp index 25c8b43506..e65279aa0d 100644 --- a/test/CodeGenCXX/mangle-ms-templates.cpp +++ b/test/CodeGenCXX/mangle-ms-templates.cpp @@ -190,3 +190,14 @@ void template_template_specialization<void (Type<Thing<Second, true>, Second>)>( template <decltype(nullptr)> struct S1 {}; void f(S1<nullptr>) {} // CHECK: "\01?f@@YAXU?$S1@$0A@@@@Z" + +struct record { + int first; + int second; +}; +template <const record &> +struct type1 { +}; +extern const record inst; +void recref(type1<inst>) {} +// CHECK: "\01?recref@@YAXU?$type1@$E?inst@@3Urecord@@B@@@Z" |