From: Timur Iskhodzhanov Date: Thu, 26 Jul 2012 11:01:05 +0000 (+0000) Subject: Add more tests for PR13207 (Mangling of template back references with -cxx-abi micros... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f58d01a02533b8d9a5b5653d121a3056d0d939ca;p=clang Add more tests for PR13207 (Mangling of template back references with -cxx-abi microsoft) now that PR13389 is fixed (mangling of return types) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160782 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGenCXX/mangle-ms-back-references-pr13207.cpp b/test/CodeGenCXX/mangle-ms-back-references-pr13207.cpp index 9234e1c2b8..27b4768977 100644 --- a/test/CodeGenCXX/mangle-ms-back-references-pr13207.cpp +++ b/test/CodeGenCXX/mangle-ms-back-references-pr13207.cpp @@ -35,6 +35,31 @@ void foo_abb(N::A, N::B >) {} void foo_abc(N::A, N::C >) {} // CHECK: "\01?foo_abc@@YAXV?$A@DV?$B@D@N@@V?$C@D@2@@N@@@Z" +N::A, N::C > abc_foo() { +// CHECK: ?abc_foo@@YA?AV?$A@DV?$B@D@N@@V?$C@D@2@@N@@XZ + return N::A, N::C >(); +} + +N::Z z_foo(N::Z arg) { +// CHECK: ?z_foo@@YA?AVZ@N@@V12@@Z + return arg; +} + +N::B b_foo(N::B arg) { +// CHECK: ?b_foo@@YA?AV?$B@D@N@@V12@@Z + return arg; +} + +N::D d_foo(N::D arg) { +// CHECK: ?d_foo@@YA?AV?$D@DD@N@@V12@@Z + return arg; +} + +N::A, N::C > abc_foo_abc(N::A, N::C >) { +// CHECK: ?abc_foo_abc@@YA?AV?$A@DV?$B@D@N@@V?$C@D@2@@N@@V12@@Z + return N::A, N::C >(); +} + namespace NA { class X {}; template class Y {};