summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2014-02-17 21:56:01 +0000
committerAnders Carlsson <andersca@mac.com>2014-02-17 21:56:01 +0000
commit3e107b3bd8cb0b51330a39b8fc7f5fb64584069d (patch)
treee1ad68ee0052d94c054594e529cb0f5ff87bbfd9 /libcxxabi/src
parent8b7258bdb3d371a59e1e84e3c417b76a2c0dc003 (diff)
downloadbcm5719-llvm-3e107b3bd8cb0b51330a39b8fc7f5fb64584069d.tar.gz
bcm5719-llvm-3e107b3bd8cb0b51330a39b8fc7f5fb64584069d.zip
Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec.
llvm-svn: 201533
Diffstat (limited to 'libcxxabi/src')
-rw-r--r--libcxxabi/src/cxa_demangle.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/libcxxabi/src/cxa_demangle.cpp b/libcxxabi/src/cxa_demangle.cpp
index 839aebec1c4..d1661e8942b 100644
--- a/libcxxabi/src/cxa_demangle.cpp
+++ b/libcxxabi/src/cxa_demangle.cpp
@@ -352,6 +352,7 @@ parse_substitution(const char* first, const char* last, C& db)
// ::= Di # char32_t
// ::= Ds # char16_t
// ::= Da # auto (in dependent new-expressions)
+// ::= Dc # decltype(auto)
// ::= Dn # std::nullptr_t (i.e., decltype(nullptr))
// ::= u <source-name> # vendor extended type
@@ -487,6 +488,10 @@ parse_builtin_type(const char* first, const char* last, C& db)
db.names.push_back("auto");
first += 2;
break;
+ case 'c':
+ db.names.push_back("decltype(auto)");
+ first += 2;
+ break;
case 'n':
db.names.push_back("std::nullptr_t");
first += 2;
OpenPOWER on IntegriCloud