mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-09-23 14:53:13 +08:00
fix aligned_stack_memory_handler for null pointers
This commit is contained in:
parent
392eb9fee8
commit
6441e8727b
@ -494,12 +494,12 @@ template<typename T> class aligned_stack_memory_handler
|
|||||||
aligned_stack_memory_handler(T* ptr, size_t size, bool dealloc)
|
aligned_stack_memory_handler(T* ptr, size_t size, bool dealloc)
|
||||||
: m_ptr(ptr), m_size(size), m_deallocate(dealloc)
|
: m_ptr(ptr), m_size(size), m_deallocate(dealloc)
|
||||||
{
|
{
|
||||||
if(NumTraits<T>::RequireInitialization)
|
if(NumTraits<T>::RequireInitialization && m_ptr)
|
||||||
Eigen::internal::construct_elements_of_array(m_ptr, size);
|
Eigen::internal::construct_elements_of_array(m_ptr, size);
|
||||||
}
|
}
|
||||||
~aligned_stack_memory_handler()
|
~aligned_stack_memory_handler()
|
||||||
{
|
{
|
||||||
if(NumTraits<T>::RequireInitialization)
|
if(NumTraits<T>::RequireInitialization && m_ptr)
|
||||||
Eigen::internal::destruct_elements_of_array<T>(m_ptr, m_size);
|
Eigen::internal::destruct_elements_of_array<T>(m_ptr, m_size);
|
||||||
if(m_deallocate)
|
if(m_deallocate)
|
||||||
Eigen::internal::aligned_free(m_ptr);
|
Eigen::internal::aligned_free(m_ptr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user