diff options
author | Timur Iskhodzhanov <timurrrr@google.com> | 2012-06-27 21:53:00 +0000 |
---|---|---|
committer | Timur Iskhodzhanov <timurrrr@google.com> | 2012-06-27 21:53:00 +0000 |
commit | 8771872ab78fe4bd65393f94f2b1b6eb8b4ec6d3 (patch) | |
tree | c10267a08411c426ce6e9fff939f573f52e5548a | |
parent | f4bcfa1b1850711d5eb092f2b0639331ef9f09f1 (diff) |
Two more tests for PR13207 - wrong mangling of templates with back references [-cxx-abi microsoft]
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159296 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/CodeGenCXX/mangle-ms-back-references.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/test/CodeGenCXX/mangle-ms-back-references.cpp b/test/CodeGenCXX/mangle-ms-back-references.cpp index 73e4d5c192..33a442259c 100644 --- a/test/CodeGenCXX/mangle-ms-back-references.cpp +++ b/test/CodeGenCXX/mangle-ms-back-references.cpp @@ -74,6 +74,8 @@ class B {}; class C {}; template<class X> +class F {}; +template<class X> class I {}; template<class X, class Y> class J {}; @@ -97,6 +99,18 @@ void bar(J<A,B> x) {} void spam(K<A,B,C> x) {} // CHECK: "\01?spam@PR13207@@YAXV?$K@VA@PR13207@@VB@2@VC@2@@1@@Z" +// The following CURRENT line is here to improve the precision of the "scanning +// from here" reports of FileCheck. +// CURRENT: "\01?spam@PR13207@@YAXV?$K@VA@PR13207@@VB@2@VC@2@@1@@Z" + +// The tests below currently fail: +void baz(K<char, F<char>, I<char> >) {} +// CURRENT: "\01?baz@PR13207@@YAXV?$K@DV?$F@D@PR13207@@V?$I@D@1@@1@@Z" +// CORRECT: "\01?baz@PR13207@@YAXV?$K@DV?$F@D@PR13207@@V?$I@D@2@@1@@Z" +void qux(K<char, I<char>, I<char> >) {} +// CURRENT: "\01?qux@PR13207@@YAXV?$K@DV?$I@D@PR13207@@V?$I@D@1@@1@@Z" +// CORRECT: "\01?qux@PR13207@@YAXV?$K@DV?$I@D@PR13207@@V12@@1@@Z + namespace NA { class X {}; template<class T> class Y {}; @@ -116,10 +130,6 @@ void bar(NA::Y<X> x) {} void spam(NA::Y<NA::X> x) {} // CHECK: "\01?spam@NB@PR13207@@YAXV?$Y@VX@NA@PR13207@@@NA@2@@Z" -// The following CURRENT line is here to improve the precision of the "scanning -// from here" reports of FileCheck. -// CURRENT: "\01?spam@NB@PR13207@@YAXV?$Y@VX@NA@PR13207@@@NA@2@@Z" - // The tests below currently fail: void foobar(NA::Y<Y<X> > a, Y<Y<X> >) {} // CURRENT: "\01?foobar@NB@PR13207@@YAXV?$Y@V?$Y@VX@NB@PR13207@@@NB@PR13207@@@NA@2@V?$Y@V?$Y@VX@NB@PR13207@@@NB@PR13207@@@12@@Z" |