diff --git a/src/Magnum/Math/RectangularMatrix.h b/src/Magnum/Math/RectangularMatrix.h index 2ebb99b29..bf5246709 100644 --- a/src/Magnum/Math/RectangularMatrix.h +++ b/src/Magnum/Math/RectangularMatrix.h @@ -671,7 +671,13 @@ namespace Implementation { } } +#ifndef CORRADE_GCC45_COMPATIBILITY template template inline constexpr RectangularMatrix::RectangularMatrix(Implementation::Sequence, const Vector& diagonal): _data{Implementation::diagonalMatrixColumn(sequence < DiagonalSize ? diagonal[sequence] : T{})...} {} +#else +template template inline RectangularMatrix::RectangularMatrix(Implementation::Sequence, const Vector& diagonal) { + constructInternal({Implementation::diagonalMatrixColumn(sequence < DiagonalSize ? diagonal[sequence] : T{})...}); +} +#endif template inline Vector RectangularMatrix::row(std::size_t row) const { Vector out;