summaryrefslogtreecommitdiffstats
path: root/clang/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
commit2816c023ea32855b51456b95955448a3e675861b (patch)
tree25ef03ffbd8ca6b61c58478bdb8fae76af0ab185 /clang/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp
parent72780ed996fa2aaaf14923f82dcb719ea84fc23f (diff)
downloadbcm5719-llvm-2816c023ea32855b51456b95955448a3e675861b.tar.gz
bcm5719-llvm-2816c023ea32855b51456b95955448a3e675861b.zip
[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 llvm-svn: 180250
Diffstat (limited to 'clang/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp')
-rw-r--r--clang/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp b/clang/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp
index 63bc4a9eb3c..87e04c645ec 100644
--- a/clang/test/CodeGenCXX/mangle-ms-return-qualifiers.cpp
+++ b/clang/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; }
OpenPOWER on IntegriCloud