From 045f46319429467918d291d232dd89c302e7d32d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 9 Apr 2014 13:39:37 +0200 Subject: [PATCH] GCC 4.4 compatibility: no comparison operators for strongly-typed enums. --- src/Magnum/Shapes/Implementation/CollisionDispatch.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Magnum/Shapes/Implementation/CollisionDispatch.cpp b/src/Magnum/Shapes/Implementation/CollisionDispatch.cpp index 1213062d0..7a57a0282 100644 --- a/src/Magnum/Shapes/Implementation/CollisionDispatch.cpp +++ b/src/Magnum/Shapes/Implementation/CollisionDispatch.cpp @@ -67,7 +67,8 @@ template<> bool collides(const AbstractShape<2>& a, const AbstractShape<2>& b) { } template<> Collision<2> collision(const AbstractShape<2>& a, const AbstractShape<2>& b) { - if(a.type() < b.type()) return collision(b, a); + /* GCC 4.4 doesn't have comparison operators for strongly typed enums */ + if(UnsignedInt(a.type()) < UnsignedInt(b.type())) return collision(b, a); switch(UnsignedInt(a.type())*UnsignedInt(b.type())) { #define _c(aType, aClass, bType, bClass) \ @@ -114,7 +115,8 @@ template<> bool collides(const AbstractShape<3>& a, const AbstractShape<3>& b) { } template<> Collision<3> collision(const AbstractShape<3>& a, const AbstractShape<3>& b) { - if(a.type() < b.type()) return collision(b, a); + /* GCC 4.4 doesn't have comparison operators for strongly typed enums */ + if(UnsignedInt(a.type()) < UnsignedInt(b.type())) return collision(b, a); switch(UnsignedInt(a.type())*UnsignedInt(b.type())) { #define _c(aType, aClass, bType, bClass) \