diff options
author | David Tellenbach <david.tellenbach@me.com> | 2020-07-28 13:56:54 +0200 |
---|---|---|
committer | David Tellenbach <david.tellenbach@me.com> | 2020-07-29 12:31:13 +0000 |
commit | 5e484fa11de4e90fc042a29e6cab04667bb2ef6c (patch) | |
tree | 2acbbdb745d1939af0607ee970d30f3f17940233 | |
parent | 3ec4f0b64185ef1ae220dfdad93fe5ca1257bf3f (diff) |
Fix StlDeque for GCC 10
StlDeque extends std::deque by accessing some of its internal members.
Since GCC 10 these are not accessible anymore.
-rw-r--r-- | Eigen/src/StlSupport/StdDeque.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Eigen/src/StlSupport/StdDeque.h b/Eigen/src/StlSupport/StdDeque.h index 045da7b4d..006ac1164 100644 --- a/Eigen/src/StlSupport/StdDeque.h +++ b/Eigen/src/StlSupport/StdDeque.h @@ -98,8 +98,10 @@ namespace std { { return deque_base::insert(position,x); } void insert(const_iterator position, size_type new_size, const value_type& x) { deque_base::insert(position, new_size, x); } -#elif defined(_GLIBCXX_DEQUE) && EIGEN_GNUC_AT_LEAST(4,2) +#elif defined(_GLIBCXX_DEQUE) && EIGEN_GNUC_AT_LEAST(4,2) && !EIGEN_GNUC_AT_LEAST(10, 1) // workaround GCC std::deque implementation + // GCC 10.1 doesn't let us access _Deque_impl _M_impl anymore and we have to + // fall-back to the default case void resize(size_type new_size, const value_type& x) { if (new_size < deque_base::size()) @@ -108,7 +110,7 @@ namespace std { deque_base::insert(deque_base::end(), new_size - deque_base::size(), x); } #else - // either GCC 4.1 or non-GCC + // either non-GCC or GCC between 4.1 and 10.1 // default implementation which should always work. void resize(size_type new_size, const value_type& x) { |