diff --git a/src/Math/RectangularMatrix.h b/src/Math/RectangularMatrix.h index cbb0a685f..89b365c56 100644 --- a/src/Math/RectangularMatrix.h +++ b/src/Math/RectangularMatrix.h @@ -164,8 +164,20 @@ template class RectangularMatrix { * * @see operator[] */ - T* data() { return _data[0].data(); } - constexpr const T* data() const { return _data[0].data(); } /**< @overload */ + T* data() + #ifndef CORRADE_GCC47_COMPATIBILITY + & + #endif + { return _data[0].data(); } + + /** @overload */ + constexpr const T* data() + #ifndef CORRADE_GCC47_COMPATIBILITY + const & + #else + const + #endif + { return _data[0].data(); } /** * @brief %Matrix column diff --git a/src/Math/Vector.h b/src/Math/Vector.h index 645b1b256..de6c77881 100644 --- a/src/Math/Vector.h +++ b/src/Math/Vector.h @@ -184,8 +184,20 @@ template class Vector { * * @see operator[]() */ - T* data() { return _data; } - constexpr const T* data() const { return _data; } /**< @overload */ + T* data() + #ifndef CORRADE_GCC47_COMPATIBILITY + & + #endif + { return _data; } + + /** @overload */ + constexpr const T* data() + #ifndef CORRADE_GCC47_COMPATIBILITY + const & + #else + const + #endif + { return _data; } /** * @brief Value at given position