Emit debug info for c++0x nullptr.

llvm-svn: 139752
This commit is contained in:
Devang Patel 2011-09-14 23:14:14 +00:00
parent 04d6d47865
commit ecaf9ac0bb
3 changed files with 13 additions and 4 deletions

View File

@ -302,8 +302,8 @@ llvm::DIType CGDebugInfo::CreateType(const BuiltinType *BT) {
assert(0 && "Unexpected builtin type UnknownAny");
return llvm::DIType();
case BuiltinType::NullPtr:
assert(0 && "Unexpected builtin type NullPtr");
return llvm::DIType();
return DBuilder.
createNullPtrType(BT->getName(CGM.getContext().getLangOptions()));
case BuiltinType::Void:
return llvm::DIType();
case BuiltinType::ObjCClass:

View File

@ -1,7 +1,8 @@
// RUN: %clang_cc1 -S -std=c++0x -masm-verbose -g %s -o -| FileCheck %s
//CHECK: .byte 16
//CHECK-NEXT: .ascii "char16_t"
//CHECK: .ascii "char16_t"
//CHECK-NEXT: .byte 0
//CHECK-NEXT: .byte 16
// 16 is DW_ATE_UTF (0x10) encoding attribute.
char16_t char_a = u'h';

View File

@ -0,0 +1,8 @@
// RUN: %clang_cc1 -S -std=c++0x -masm-verbose -g %s -o -| FileCheck %s
//CHECK: DW_TAG_unspecified_type
//CHECK-NEXT: "nullptr_t"
void foo() {
decltype(nullptr) t = 0;
}