[PATCH] Rename DIBuilder::createNullPtrType to createUnspecifiedType and introduce a zero-argument createNullPtrType function for creating the canonical nullptr type.

Peter Collingbourne peter at pcc.me.uk
Wed Jun 26 17:28:28 PDT 2013


Hi dblaikie,

http://llvm-reviews.chandlerc.com/D1050

Files:
  include/llvm/DIBuilder.h
  lib/IR/DIBuilder.cpp

Index: include/llvm/DIBuilder.h
===================================================================
--- include/llvm/DIBuilder.h
+++ include/llvm/DIBuilder.h
@@ -115,8 +115,11 @@
     /// createEnumerator - Create a single enumerator value.
     DIEnumerator createEnumerator(StringRef Name, int64_t Val);
 
-    /// createNullPtrType - Create C++0x nullptr type.
-    DIBasicType createNullPtrType(StringRef Name);
+    /// \brief Create a DWARF unspecified type.
+    DIBasicType createUnspecifiedType(StringRef Name);
+
+    /// \brief Create C++11 nullptr type.
+    DIBasicType createNullPtrType();
 
     /// createBasicType - Create debugging information entry for a basic
     /// type.
Index: lib/IR/DIBuilder.cpp
===================================================================
--- lib/IR/DIBuilder.cpp
+++ lib/IR/DIBuilder.cpp
@@ -208,11 +208,11 @@
   return DIEnumerator(MDNode::get(VMContext, Elts));
 }
 
-/// createNullPtrType - Create C++11 nullptr type.
-DIBasicType DIBuilder::createNullPtrType(StringRef Name) {
+/// \brief Create a DWARF unspecified type.
+DIBasicType DIBuilder::createUnspecifiedType(StringRef Name) {
   assert(!Name.empty() && "Unable to create type without name");
-  // nullptr is encoded in DIBasicType format. Line number, filename,
-  // ,size, alignment, offset and flags are always empty here.
+  // Unspecified types are encoded in DIBasicType format. Line number, filename,
+  // size, alignment, offset and flags are always empty here.
   Value *Elts[] = {
     GetTagConstant(VMContext, dwarf::DW_TAG_unspecified_type),
     NULL, // Filename
@@ -228,6 +228,11 @@
   return DIBasicType(MDNode::get(VMContext, Elts));
 }
 
+/// \brief Create C++11 nullptr type.
+DIBasicType DIBuilder::createNullPtrType() {
+  return createUnspecifiedType("decltype(nullptr)");
+}
+
 /// createBasicType - Create debugging information entry for a basic
 /// type, e.g 'char'.
 DIBasicType
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1050.1.patch
Type: text/x-patch
Size: 1926 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130626/085ff2e6/attachment.bin>


More information about the llvm-commits mailing list