]> granicus.if.org Git - clang/commitdiff
Add more tests for PR13207 (Mangling of template back references with -cxx-abi micros...
authorTimur Iskhodzhanov <timurrrr@google.com>
Thu, 26 Jul 2012 11:01:05 +0000 (11:01 +0000)
committerTimur Iskhodzhanov <timurrrr@google.com>
Thu, 26 Jul 2012 11:01:05 +0000 (11:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160782 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGenCXX/mangle-ms-back-references-pr13207.cpp

index 9234e1c2b893d789251fefb554248267842c3ae6..27b47689771d4ed7b807b1d650efcd9822f34424 100644 (file)
@@ -35,6 +35,31 @@ void foo_abb(N::A<char, N::B<char>, N::B<char> >) {}
 void foo_abc(N::A<char, N::B<char>, N::C<char> >) {}
 // CHECK: "\01?foo_abc@@YAXV?$A@DV?$B@D@N@@V?$C@D@2@@N@@@Z"
 
+N::A<char, N::B<char>, N::C<char> > abc_foo() {
+// CHECK: ?abc_foo@@YA?AV?$A@DV?$B@D@N@@V?$C@D@2@@N@@XZ
+  return N::A<char, N::B<char>, N::C<char> >();
+}
+
+N::Z z_foo(N::Z arg) {
+// CHECK: ?z_foo@@YA?AVZ@N@@V12@@Z
+  return arg;
+}
+
+N::B<char> b_foo(N::B<char> arg) {
+// CHECK: ?b_foo@@YA?AV?$B@D@N@@V12@@Z
+  return arg;
+}
+
+N::D<char, char> d_foo(N::D<char, char> arg) {
+// CHECK: ?d_foo@@YA?AV?$D@DD@N@@V12@@Z
+  return arg;
+}
+
+N::A<char, N::B<char>, N::C<char> > abc_foo_abc(N::A<char, N::B<char>, N::C<char> >) {
+// CHECK: ?abc_foo_abc@@YA?AV?$A@DV?$B@D@N@@V?$C@D@2@@N@@V12@@Z
+  return N::A<char, N::B<char>, N::C<char> >();
+}
+
 namespace NA {
 class X {};
 template<class T> class Y {};