diff --git a/src/Magnum/AbstractShaderProgram.cpp b/src/Magnum/AbstractShaderProgram.cpp index 57a07514d..064af490d 100644 --- a/src/Magnum/AbstractShaderProgram.cpp +++ b/src/Magnum/AbstractShaderProgram.cpp @@ -361,7 +361,8 @@ bool AbstractShaderProgram::link(std::initializer_list name) { GLint location = glGetUniformLocation(_id, name); if(location == -1) - Warning() << "AbstractShaderProgram: location of uniform \'" + std::string{name, name.size()} + "\' cannot be retrieved!"; + /* GCC 4.5 takes {} as initialization from list of chars */ + Warning() << "AbstractShaderProgram: location of uniform \'" + std::string(name, name.size()) + "\' cannot be retrieved!"; return location; } diff --git a/src/Magnum/Shaders/DistanceFieldVector.cpp b/src/Magnum/Shaders/DistanceFieldVector.cpp index 5ef839799..ab2d40774 100644 --- a/src/Magnum/Shaders/DistanceFieldVector.cpp +++ b/src/Magnum/Shaders/DistanceFieldVector.cpp @@ -65,7 +65,7 @@ template DistanceFieldVector::DistanceFieldV std::initializer_list> ss{std::ref(frag), std::ref(vert)}; CORRADE_INTERNAL_ASSERT_OUTPUT(Shader::compile(ss)); - AbstractShaderProgram::attachShaders({frag, vert}); + AbstractShaderProgram::attachShaders(ss); #ifndef MAGNUM_TARGET_GLES if(!Context::current()->isExtensionSupported(version)) diff --git a/src/Magnum/Shaders/Vector.cpp b/src/Magnum/Shaders/Vector.cpp index 38dec2134..a56638407 100644 --- a/src/Magnum/Shaders/Vector.cpp +++ b/src/Magnum/Shaders/Vector.cpp @@ -65,7 +65,7 @@ template Vector::Vector(): transformationPro std::initializer_list> ss{std::ref(frag), std::ref(vert)}; CORRADE_INTERNAL_ASSERT_OUTPUT(Shader::compile(ss)); - AbstractShaderProgram::attachShaders({vert, frag}); + AbstractShaderProgram::attachShaders(ss); #ifndef MAGNUM_TARGET_GLES if(!Context::current()->isExtensionSupported(version))