From c653cf34978bb0370d0ad3523e25fbf793dc3c72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 17 Apr 2020 22:46:24 +0200 Subject: [PATCH] Trade: c'mon, old compilers. --- doc/snippets/MagnumTrade.cpp | 3 +++ src/Magnum/Trade/sceneconverter.cpp | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/snippets/MagnumTrade.cpp b/doc/snippets/MagnumTrade.cpp index 94ba05ff8..a3974993e 100644 --- a/doc/snippets/MagnumTrade.cpp +++ b/doc/snippets/MagnumTrade.cpp @@ -65,6 +65,8 @@ using namespace Magnum::Math::Literals; int main() { +/* GCC 4.8 and Clang 3.8 has problems with an implicit cast here */ +#if (defined(CORRADE_TARGET_UNIX) || (defined(CORRADE_TARGET_WINDOWS) && !defined(CORRADE_TARGET_WINDOWS_RT))) && (!defined(CORRADE_TARGET_GCC) || __GNUC__ > 5 || (!defined(CORRADE_TARGET_APPLE_CLANG) && __clang_major__ >= 4) || (defined(CORRADE_TARGET_APPLE_CLANG) && __clang_major__ >= 9)) { /* [blob-deserialize-mesh] */ Containers::Array blob = @@ -77,6 +79,7 @@ if(!spaceship) Fatal{} << "oh no"; // ... /* [blob-deserialize-mesh] */ } +#endif { /* [AbstractImporter-usage] */ diff --git a/src/Magnum/Trade/sceneconverter.cpp b/src/Magnum/Trade/sceneconverter.cpp index b0510f265..9d1297e09 100644 --- a/src/Magnum/Trade/sceneconverter.cpp +++ b/src/Magnum/Trade/sceneconverter.cpp @@ -132,7 +132,8 @@ class BlobImporter: public Trade::AbstractImporter { UnsignedInt doMeshCount() const override { return 1; } Containers::Optional doMesh(UnsignedInt, UnsignedInt) override { - return Trade::MeshData::deserialize(_in); + /* GCC 4.8 and old Clang has problems with an implicit cast here */ + return Trade::MeshData::deserialize(Containers::ArrayView(_in)); } Containers::Array _in;