diff options
author | Enrico Granata <egranata@apple.com> | 2014-04-24 17:28:09 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2014-04-24 17:28:09 +0000 |
commit | 6bfbdc55f86c9100a94930bdbb29dff7c8590e8d (patch) | |
tree | f96c2cc382227170ecd5d956a4770e46b7d5b04a | |
parent | 7d2a5e6862f9098985ef9ff87d29dd6c130ad742 (diff) | |
download | bcm5719-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.h | 9 |
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> |