From 3da924f2faf84b421464f084d1a74407be177ec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 9 Apr 2014 13:42:50 +0200 Subject: [PATCH] MSVC 2013 compatibility: work around internal compiler error. --- src/Magnum/MeshTools/Interleave.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Magnum/MeshTools/Interleave.h b/src/Magnum/MeshTools/Interleave.h index ca150c6f3..6295f00ca 100644 --- a/src/Magnum/MeshTools/Interleave.h +++ b/src/Magnum/MeshTools/Interleave.h @@ -47,7 +47,8 @@ namespace Implementation { cyclic dependencies) */ struct AttributeCount { template typename std::enable_if::value, std::size_t>::type operator()(const T& first, const U&... next) const { - CORRADE_ASSERT(sizeof...(next) == 0 || AttributeCount{}(next...) == first.size() || AttributeCount{}(next...) == ~std::size_t(0), "MeshTools::interleave(): attribute arrays don't have the same length, expected" << first.size() << "but got" << AttributeCount{}(next...), 0); + /* {} causes ICE in MSVC 2013 */ + CORRADE_ASSERT(sizeof...(next) == 0 || AttributeCount()(next...) == first.size() || AttributeCount()(next...) == ~std::size_t(0), "MeshTools::interleave(): attribute arrays don't have the same length, expected" << first.size() << "but got" << AttributeCount()(next...), 0); return first.size(); }