summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2017-01-24 19:57:05 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2017-01-24 19:57:05 +0000
commit38a106017af27c76923424fb9863ea8f6e9509e1 (patch)
tree33fd9a3eeb9fbe9ade3c74d379bf47f0b2436636 /test
parentb31402407404e987cf39b833005f6a63a95f1744 (diff)
cxa_demangle: fix rvalue ref check
When checking if the type is a r-value ref, we would not do a complete check. This would result in us treating a trailing parameter reference `&)` as a r-value ref, and improperly inject the cv qualifier on the type. We now correctly demangle the type `KFvRmE` as a constant function rather than a constant reference. Fixes PR31741! git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@292973 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/test_demangle.pass.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/test/test_demangle.pass.cpp b/test/test_demangle.pass.cpp
index b307300..4eb6a88 100644
--- a/test/test_demangle.pass.cpp
+++ b/test/test_demangle.pass.cpp
@@ -29598,9 +29598,8 @@ const char* cases[][2] =
// mangled names can include type manglings too, which don't start with _Z:
{"i", "int"},
- // FIXME(compnerd) this should be void (int &) const
- {"PKFvRiE", "void (*)(int const&)"},
- // TODO(compnerd) pretty print this as void (*)(unsigned long&) volatile &&"
+ {"PKFvRiE", "void (*)(int&) const"},
+ // FIXME(compnerd) pretty print this as void (*)(unsigned long &) volatile &&
{"PVFvRmOE", "void (*)(unsigned long&) volatile&&"},
{"PFvRmOE", "void (*)(unsigned long&) &&"},
};