diff options
author | Devang Patel <dpatel@apple.com> | 2011-09-14 23:14:14 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-09-14 23:14:14 +0000 |
commit | f60dca355d3e754b7a51726c7455d1e7583a65ba (patch) | |
tree | cc15e61677894cc5f980436e952f636b1a0e7dcd | |
parent | de8a9050d79d66325a18168a0994fed125a7790d (diff) |
Emit debug info for c++0x nullptr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139752 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/CGDebugInfo.cpp | 4 | ||||
-rw-r--r-- | test/CodeGenCXX/debug-info-char16.cpp | 5 | ||||
-rw-r--r-- | test/CodeGenCXX/debug-info-nullptr.cpp | 8 |
3 files changed, 13 insertions, 4 deletions
diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index 5061e2e854..919c5f9940 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -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: diff --git a/test/CodeGenCXX/debug-info-char16.cpp b/test/CodeGenCXX/debug-info-char16.cpp index d5bb43291c..3459b75776 100644 --- a/test/CodeGenCXX/debug-info-char16.cpp +++ b/test/CodeGenCXX/debug-info-char16.cpp @@ -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'; diff --git a/test/CodeGenCXX/debug-info-nullptr.cpp b/test/CodeGenCXX/debug-info-nullptr.cpp new file mode 100644 index 0000000000..3c6f31615d --- /dev/null +++ b/test/CodeGenCXX/debug-info-nullptr.cpp @@ -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; + } |