summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/Mangle.cpp
diff options
context:
space:
mode:
authorAlisdair Meredith <public@alisdairm.net>2009-07-14 06:30:34 +0000
committerAlisdair Meredith <public@alisdairm.net>2009-07-14 06:30:34 +0000
commita9ad47d94c9a11535b924a55cbfb256c51583d07 (patch)
tree93264393f1ef4e9031e0fdc74c35dd68c4d12d16 /clang/lib/CodeGen/Mangle.cpp
parentc0e371f1435b16131f3b0b4fc2c4dd4830c36ea6 (diff)
downloadbcm5719-llvm-a9ad47d94c9a11535b924a55cbfb256c51583d07.tar.gz
bcm5719-llvm-a9ad47d94c9a11535b924a55cbfb256c51583d07.zip
Basic support for C++0x unicode types. Support for literals will follow in an incremental patch
llvm-svn: 75622
Diffstat (limited to 'clang/lib/CodeGen/Mangle.cpp')
-rw-r--r--clang/lib/CodeGen/Mangle.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp
index 97c26f87b18..cd0e2eae7dc 100644
--- a/clang/lib/CodeGen/Mangle.cpp
+++ b/clang/lib/CodeGen/Mangle.cpp
@@ -540,8 +540,8 @@ void CXXNameMangler::mangleType(const BuiltinType *T) {
// UNSUPPORTED: ::= De # IEEE 754r decimal floating point (128 bits)
// UNSUPPORTED: ::= Df # IEEE 754r decimal floating point (32 bits)
// UNSUPPORTED: ::= Dh # IEEE 754r half-precision floating point (16 bits)
- // UNSUPPORTED: ::= Di # char32_t
- // UNSUPPORTED: ::= Ds # char16_t
+ // ::= Di # char32_t
+ // ::= Ds # char16_t
// ::= u <source-name> # vendor extended type
// From our point of view, std::nullptr_t is a builtin, but as far as mangling
// is concerned, it's a type called std::nullptr_t.
@@ -557,6 +557,8 @@ void CXXNameMangler::mangleType(const BuiltinType *T) {
case BuiltinType::UInt128: Out << 'o'; break;
case BuiltinType::SChar: Out << 'a'; break;
case BuiltinType::WChar: Out << 'w'; break;
+ case BuiltinType::Char16: Out << "Ds"; break;
+ case BuiltinType::Char32: Out << "Di"; break;
case BuiltinType::Short: Out << 's'; break;
case BuiltinType::Int: Out << 'i'; break;
case BuiltinType::Long: Out << 'l'; break;
OpenPOWER on IntegriCloud