diff options
author | Alisdair Meredith <public@alisdairm.net> | 2009-07-14 06:30:34 +0000 |
---|---|---|
committer | Alisdair Meredith <public@alisdairm.net> | 2009-07-14 06:30:34 +0000 |
commit | f5c209d23b20ada4a9b6235db50317239cbf6ae1 (patch) | |
tree | 86513b9161dcbc74e0684bd1e0c6b26b47afe712 /lib/CodeGen/Mangle.cpp | |
parent | 127bf318068659471bce3b08c462d2eab6a5e6a5 (diff) |
Basic support for C++0x unicode types. Support for literals will follow in an incremental patch
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75622 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/Mangle.cpp')
-rw-r--r-- | lib/CodeGen/Mangle.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/Mangle.cpp b/lib/CodeGen/Mangle.cpp index 97c26f87b1..cd0e2eae7d 100644 --- a/lib/CodeGen/Mangle.cpp +++ b/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; |