summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2013-04-25 04:25:40 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2013-04-25 04:25:40 +0000
commitb70d1c32ca62d072b3f4a5d4628fdcf692cbf2f0 (patch)
tree32cb8952861795d6e361e6338da9e40a42adc518 /test/CodeGenCXX/mangle-ms-return-qualifiers.cpp
parentfed07a22d54075838f82b408ef11694982fdaaf0 (diff)
[ms-cxxabi] Fix a number of bugs in the mangler.
This includes the following fixes: - Implement 4 subtly different variants of qualifier mangling and use them in what I believe are the right places. - Fix handling of array types. Previously we were always decaying them, which is wrong if the type appears as a template argument, pointee, referent etc. Fixes PR13182. Differential Revision: http://llvm-reviews.chandlerc.com/D709 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180250 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/mangle-ms-return-qualifiers.cpp')
-rw-r--r--test/CodeGenCXX/mangle-ms-return-qualifiers.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp b/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp
index 63bc4a9eb3..87e04c645e 100644
--- a/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp
+++ b/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp
@@ -155,6 +155,15 @@ const volatile struct S* f5() { return 0; }
struct S& f6() { return *(struct S*)0; }
// CHECK: "\01?f6@@YAAAUS@@XZ"
+struct S* const f7() { return 0; }
+// CHECK: "\01?f7@@YAQAUS@@XZ"
+
+int S::* f8() { return 0; }
+// CHECK: "\01?f8@@YAPQS@@HXZ"
+
+int S::* const f9() { return 0; }
+// CHECK: "\01?f9@@YAQQS@@HXZ"
+
typedef int (*function_pointer)(int);
function_pointer g1() { return 0; }