diff --git a/src/Magnum/Test/TransformFeedbackGLTest.cpp b/src/Magnum/Test/TransformFeedbackGLTest.cpp index f0cc7df55..ed946f6ee 100644 --- a/src/Magnum/Test/TransformFeedbackGLTest.cpp +++ b/src/Magnum/Test/TransformFeedbackGLTest.cpp @@ -161,7 +161,8 @@ XfbShader::XfbShader() { #else /* ES for some reason needs both vertex and fragment shader */ CORRADE_INTERNAL_ASSERT_OUTPUT(frag.addSource("void main() {}\n").compile()); - attachShaders({vert, frag}); + /* GCC 4.4 has explicit std::reference_wrapper constructor */ + attachShaders({std::ref(vert), std::ref(frag)}); #endif bindAttributeLocation(Input::Location, "inputData"); setTransformFeedbackOutputs({"outputData"}, TransformFeedbackBufferMode::SeparateAttributes); @@ -260,7 +261,8 @@ XfbMultiShader::XfbMultiShader() { #else /* ES for some reason needs both vertex and fragment shader */ CORRADE_INTERNAL_ASSERT_OUTPUT(frag.addSource("void main() {}\n").compile()); - attachShaders({vert, frag}); + /* GCC 4.4 has explicit std::reference_wrapper constructor */ + attachShaders({std::ref(vert), std::ref(frag)}); #endif bindAttributeLocation(Input::Location, "inputData"); setTransformFeedbackOutputs({"output1", "output2"}, TransformFeedbackBufferMode::SeparateAttributes); @@ -375,7 +377,8 @@ void TransformFeedbackGLTest::interleaved() { #else /* ES for some reason needs both vertex and fragment shader */ CORRADE_INTERNAL_ASSERT_OUTPUT(frag.addSource("void main() {}\n").compile()); - attachShaders({vert, frag}); + /* GCC 4.4 has explicit std::reference_wrapper constructor */ + attachShaders({std::ref(vert), std::ref(frag)}); #endif bindAttributeLocation(Input::Location, "inputData"); setTransformFeedbackOutputs({"output1", "gl_SkipComponents1", "output2"}, TransformFeedbackBufferMode::InterleavedAttributes);