Browse Source

GCC 4.8, happy to see you're still around, causing problems.

pull/371/head
Vladimír Vondruš 7 years ago
parent
commit
b203924355
  1. 15
      src/Magnum/Primitives/Implementation/Spheroid.cpp
  2. 12
      src/Magnum/Trade/Test/MeshData2DTest.cpp
  3. 12
      src/Magnum/Trade/Test/MeshData3DTest.cpp

15
src/Magnum/Primitives/Implementation/Spheroid.cpp

@ -229,17 +229,20 @@ Trade::MeshData Spheroid::finalize() {
auto typedVertices = reinterpret_cast<VertexTextureCoords*>(_vertexData.data()); auto typedVertices = reinterpret_cast<VertexTextureCoords*>(_vertexData.data());
Trade::MeshAttributeData positions{Trade::MeshAttribute::Position, Trade::MeshAttributeData positions{Trade::MeshAttribute::Position,
Containers::stridedArrayView(_vertexData, &typedVertices[0].position, /* GCC 4.8 needs the arrayView() */
size, stride)}; Containers::stridedArrayView(Containers::arrayView(_vertexData),
&typedVertices[0].position, size, stride)};
Trade::MeshAttributeData normals{Trade::MeshAttribute::Normal, Trade::MeshAttributeData normals{Trade::MeshAttribute::Normal,
Containers::stridedArrayView(_vertexData, &typedVertices[0].normal, /* GCC 4.8 needs the arrayView() */
size, stride)}; Containers::stridedArrayView(Containers::arrayView(_vertexData),
&typedVertices[0].normal, size, stride)};
Containers::Array<Trade::MeshAttributeData> attributes; Containers::Array<Trade::MeshAttributeData> attributes;
if(_textureCoords == TextureCoords::Generate) { if(_textureCoords == TextureCoords::Generate) {
Trade::MeshAttributeData textureCoords{Trade::MeshAttribute::TextureCoordinates, Trade::MeshAttributeData textureCoords{Trade::MeshAttribute::TextureCoordinates,
Containers::stridedArrayView(_vertexData, &typedVertices[0].textureCoords, /* GCC 4.8 needs the arrayView() */
size, stride)}; Containers::stridedArrayView(Containers::arrayView(_vertexData),
&typedVertices[0].textureCoords, size, stride)};
attributes = Containers::Array<Trade::MeshAttributeData>{Containers::InPlaceInit, {positions, normals, textureCoords}}; attributes = Containers::Array<Trade::MeshAttributeData>{Containers::InPlaceInit, {positions, normals, textureCoords}};
} else { } else {
attributes = Containers::Array<Trade::MeshAttributeData>{Containers::InPlaceInit, {positions, normals}}; attributes = Containers::Array<Trade::MeshAttributeData>{Containers::InPlaceInit, {positions, normals}};

12
src/Magnum/Trade/Test/MeshData2DTest.cpp

@ -83,7 +83,9 @@ struct {
{{0xff98ab_rgbf, 0xff3366_rgbf}}, {{0xff98ab_rgbf, 0xff3366_rgbf}},
&State}}, &State}},
{"from MeshData", {"from MeshData",
MeshData{MeshPrimitive::Lines, {}, Indices, MeshIndexData{Indices}, {}, Vertices, { /* GCC 4.8 needs the explicit MeshData3D conversion otherwise it tries
to use a deleted copy constructor */
MeshData2D{MeshData{MeshPrimitive::Lines, {}, Indices, MeshIndexData{Indices}, {}, Vertices, {
MeshAttributeData{MeshAttribute::Position, MeshAttributeData{MeshAttribute::Position,
Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].position1, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].position1, 2, sizeof(Vertex)}},
MeshAttributeData{MeshAttribute::Position, MeshAttributeData{MeshAttribute::Position,
@ -96,15 +98,17 @@ struct {
Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].textureCoords3, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].textureCoords3, 2, sizeof(Vertex)}},
MeshAttributeData{MeshAttribute::Color, MeshAttributeData{MeshAttribute::Color,
Containers::StridedArrayView1D<const Color4>{Vertices, &Vertices[0].color, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Color4>{Vertices, &Vertices[0].color, 2, sizeof(Vertex)}},
}, &State}, }, &State}},
MeshData{MeshPrimitive::Lines, {}, Vertices, { /* GCC 4.8 needs the explicit MeshData3D conversion otherwise it tries
to use a deleted copy constructor */
MeshData2D{MeshData{MeshPrimitive::Lines, {}, Vertices, {
MeshAttributeData{MeshAttribute::Position, MeshAttributeData{MeshAttribute::Position,
Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].position1, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].position1, 2, sizeof(Vertex)}},
MeshAttributeData{MeshAttribute::TextureCoordinates, MeshAttributeData{MeshAttribute::TextureCoordinates,
Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].textureCoords1, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].textureCoords1, 2, sizeof(Vertex)}},
MeshAttributeData{MeshAttribute::Color, MeshAttributeData{MeshAttribute::Color,
Containers::StridedArrayView1D<const Color4>{Vertices, &Vertices[0].color, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Color4>{Vertices, &Vertices[0].color, 2, sizeof(Vertex)}},
}, &State} }, &State}}
} }
}; };

12
src/Magnum/Trade/Test/MeshData3DTest.cpp

@ -89,7 +89,9 @@ struct {
{{0xff98ab_rgbf, 0xff3366_rgbf}}, {{0xff98ab_rgbf, 0xff3366_rgbf}},
&State}}, &State}},
{"from MeshData", {"from MeshData",
MeshData{MeshPrimitive::Lines, {}, Indices, MeshIndexData{Indices}, {}, Vertices, { /* GCC 4.8 needs the explicit MeshData3D conversion otherwise it tries
to use a deleted copy constructor */
MeshData3D{MeshData{MeshPrimitive::Lines, {}, Indices, MeshIndexData{Indices}, {}, Vertices, {
MeshAttributeData{MeshAttribute::Position, MeshAttributeData{MeshAttribute::Position,
Containers::StridedArrayView1D<const Vector3>{Vertices, &Vertices[0].position1, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Vector3>{Vertices, &Vertices[0].position1, 2, sizeof(Vertex)}},
MeshAttributeData{MeshAttribute::Position, MeshAttributeData{MeshAttribute::Position,
@ -104,8 +106,10 @@ struct {
Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].textureCoords3, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].textureCoords3, 2, sizeof(Vertex)}},
MeshAttributeData{MeshAttribute::Color, MeshAttributeData{MeshAttribute::Color,
Containers::StridedArrayView1D<const Color4>{Vertices, &Vertices[0].color, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Color4>{Vertices, &Vertices[0].color, 2, sizeof(Vertex)}},
}, &State}, }, &State}},
MeshData{MeshPrimitive::Lines, {}, Vertices, { /* GCC 4.8 needs the explicit MeshData3D conversion otherwise it tries
to use a deleted copy constructor */
MeshData3D{MeshData{MeshPrimitive::Lines, {}, Vertices, {
MeshAttributeData{MeshAttribute::Position, MeshAttributeData{MeshAttribute::Position,
Containers::StridedArrayView1D<const Vector3>{Vertices, &Vertices[0].position1, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Vector3>{Vertices, &Vertices[0].position1, 2, sizeof(Vertex)}},
MeshAttributeData{MeshAttribute::Normal, MeshAttributeData{MeshAttribute::Normal,
@ -114,7 +118,7 @@ struct {
Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].textureCoords1, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Vector2>{Vertices, &Vertices[0].textureCoords1, 2, sizeof(Vertex)}},
MeshAttributeData{MeshAttribute::Color, MeshAttributeData{MeshAttribute::Color,
Containers::StridedArrayView1D<const Color4>{Vertices, &Vertices[0].color, 2, sizeof(Vertex)}}, Containers::StridedArrayView1D<const Color4>{Vertices, &Vertices[0].color, 2, sizeof(Vertex)}},
}, &State} }, &State}}
} }
}; };

Loading…
Cancel
Save