[eigen] 1-line patch to deconflict Eigen::internal::aligned_free

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Attached a 1-line patch to fully qualify Eigen::internal::aligned_free in Memory.h. I'm new to hg and I couldn't figure out from the instructions how to push this directly (or whether I even have the permission to do so).

Anyway, this patch helps avoids a conflict on certain Windows toolchains (potentially due to some ADL name resolution bug) in the case where aligned_free is defined in the global namespace. In any case, tightening this up is harmless.

Thanks,
Sam
# HG changeset patch
# User Sam Hasinoff <hasinoff@xxxxxxxxxx>
# Date 1551485748 28800
#      Fri Mar 01 16:15:48 2019 -0800
# Node ID 5728a9b09b62a5ef83019995b3ee6f98243ea049
# Parent  1cbd54ce7b26bc92ccef84ceacf568d2be481d8a
Fully qualify Eigen::internal::aligned_free

This helps avoids a conflict on certain Windows toolchains
(potentially due to some ADL name resolution bug) in the case
where aligned_free is defined in the global namespace. In any
case, tightening this up is harmless.

diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h
--- a/Eigen/src/Core/util/Memory.h
+++ b/Eigen/src/Core/util/Memory.h
@@ -373,17 +373,17 @@ template<typename T, bool Align> EIGEN_D
 }
 
 /** \internal Deletes objects constructed with aligned_new
   * The \a size parameters tells on how many objects to call the destructor of T.
   */
 template<typename T> EIGEN_DEVICE_FUNC inline void aligned_delete(T *ptr, std::size_t size)
 {
   destruct_elements_of_array<T>(ptr, size);
-  aligned_free(ptr);
+  Eigen::internal::aligned_free(ptr);
 }
 
 /** \internal Deletes objects constructed with conditional_aligned_new
   * The \a size parameters tells on how many objects to call the destructor of T.
   */
 template<typename T, bool Align> EIGEN_DEVICE_FUNC inline void conditional_aligned_delete(T *ptr, std::size_t size)
 {
   destruct_elements_of_array<T>(ptr, size);


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/