diff --git a/src/Math/RectangularMatrix.h b/src/Math/RectangularMatrix.h index 8fa5ac663..fb869992d 100644 --- a/src/Math/RectangularMatrix.h +++ b/src/Math/RectangularMatrix.h @@ -106,12 +106,7 @@ template class RectangularMatrix { * * @todo Creating matrix from arbitrary combination of matrices with n rows */ - #ifndef CORRADE_GCC46_COMPATIBILITY template inline constexpr /*implicit*/ RectangularMatrix(const Vector& first, const U&... next): _data{first, next...} { - #else - template inline /*implicit*/ RectangularMatrix(const Vector& first, const U&... next): _data() { - constructInternal({first, next...}); - #endif static_assert(sizeof...(next)+1 == cols, "Improper number of arguments passed to RectangularMatrix constructor"); } @@ -448,21 +443,7 @@ template class RectangularMatrix { private: /* Implementation for RectangularMatrix::RectangularMatrix(const RectangularMatrix&) */ - #ifndef CORRADE_GCC46_COMPATIBILITY template inline constexpr explicit RectangularMatrix(Implementation::Sequence, const RectangularMatrix& matrix): _data{Vector(matrix[sequence])...} {} - #else - template inline constexpr explicit RectangularMatrix(Implementation::Sequence, const RectangularMatrix& matrix): _data() { - constructInternal({Vector(matrix[sequence])...}); - } - #endif - - #ifdef CORRADE_GCC46_COMPATIBILITY - /* GCC < 4.7 workaround for a ton of warnings / "error: bad array initializer" */ - inline void constructInternal(std::initializer_list> data) { - for(std::size_t i = 0; i != data.size(); ++i) - _data[i] = *(data.begin() + i); - } - #endif Vector _data[cols]; };