aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar David Tellenbach <david.tellenbach@me.com>2020-07-28 13:56:54 +0200
committerGravatar David Tellenbach <david.tellenbach@me.com>2020-07-29 12:31:13 +0000
commit5e484fa11de4e90fc042a29e6cab04667bb2ef6c (patch)
tree2acbbdb745d1939af0607ee970d30f3f17940233
parent3ec4f0b64185ef1ae220dfdad93fe5ca1257bf3f (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.h6
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)
{