diff options
author | Anders Carlsson <andersca@mac.com> | 2010-11-04 04:31:32 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2010-11-04 04:31:32 +0000 |
commit | 2683fd6f8c930e30d51ddfd5fa6c91658e6202db (patch) | |
tree | c8dad711566b6c3b18dad59f58d1f3d167497d68 /clang/lib/CodeGen/Mangle.cpp | |
parent | 9a94d9b876acd67f4476cecc5f26fd6c9f39b4b8 (diff) | |
download | bcm5719-llvm-2683fd6f8c930e30d51ddfd5fa6c91658e6202db.tar.gz bcm5719-llvm-2683fd6f8c930e30d51ddfd5fa6c91658e6202db.zip |
Mangle std::nullptr_t as specified by the Itanium C++ ABI.
llvm-svn: 118236
Diffstat (limited to 'clang/lib/CodeGen/Mangle.cpp')
-rw-r--r-- | clang/lib/CodeGen/Mangle.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp index 37ecf285983..d1e3a98789e 100644 --- a/clang/lib/CodeGen/Mangle.cpp +++ b/clang/lib/CodeGen/Mangle.cpp @@ -1219,9 +1219,8 @@ void CXXNameMangler::mangleType(const BuiltinType *T) { // UNSUPPORTED: ::= Dh # IEEE 754r half-precision floating point (16 bits) // ::= Di # char32_t // ::= Ds # char16_t + // ::= Dn # std::nullptr_t (i.e., decltype(nullptr)) // ::= 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. switch (T->getKind()) { case BuiltinType::Void: Out << 'v'; break; case BuiltinType::Bool: Out << 'b'; break; @@ -1244,7 +1243,7 @@ void CXXNameMangler::mangleType(const BuiltinType *T) { case BuiltinType::Float: Out << 'f'; break; case BuiltinType::Double: Out << 'd'; break; case BuiltinType::LongDouble: Out << 'e'; break; - case BuiltinType::NullPtr: Out << "St9nullptr_t"; break; + case BuiltinType::NullPtr: Out << "Dn"; break; case BuiltinType::Overload: case BuiltinType::Dependent: |