summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2014-04-24 17:28:09 +0000
committerEnrico Granata <egranata@apple.com>2014-04-24 17:28:09 +0000
commit6bfbdc55f86c9100a94930bdbb29dff7c8590e8d (patch)
treef96c2cc382227170ecd5d956a4770e46b7d5b04a
parent7d2a5e6862f9098985ef9ff87d29dd6c130ad742 (diff)
downloadbcm5719-llvm-6bfbdc55f86c9100a94930bdbb29dff7c8590e8d.tar.gz
bcm5719-llvm-6bfbdc55f86c9100a94930bdbb29dff7c8590e8d.zip
Making a SharingPtr out of a nullptr_t should be a safe and allowed operation
llvm-svn: 207129
-rw-r--r--lldb/include/lldb/Utility/SharingPtr.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/lldb/include/lldb/Utility/SharingPtr.h b/lldb/include/lldb/Utility/SharingPtr.h
index c451ee6e359..609e4410e1f 100644
--- a/lldb/include/lldb/Utility/SharingPtr.h
+++ b/lldb/include/lldb/Utility/SharingPtr.h
@@ -138,6 +138,7 @@ private:
struct nat {int for_bool_;};
public:
SharingPtr();
+ SharingPtr(std::nullptr_t);
template<class Y> explicit SharingPtr(Y* p);
template<class Y> explicit SharingPtr(Y* p, imp::shared_count *ctrl_block);
template<class Y> SharingPtr(const SharingPtr<Y>& r, element_type *p);
@@ -191,6 +192,14 @@ SharingPtr<T>::SharingPtr()
cntrl_(0)
{
}
+
+template<class T>
+inline
+SharingPtr<T>::SharingPtr(std::nullptr_t)
+: ptr_(0),
+cntrl_(0)
+{
+}
template<class T>
template<class Y>
OpenPOWER on IntegriCloud