From 805620f8c9cb486126dd6065971e4ad20435079d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 29 Apr 2015 20:46:03 +0200 Subject: [PATCH] Fix compilation with GCC > 4.6 and Clang. This compatibility stuff is killing me. --- src/Magnum/Implementation/FramebufferState.cpp | 5 +++-- src/Magnum/Implementation/FramebufferState.h | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Magnum/Implementation/FramebufferState.cpp b/src/Magnum/Implementation/FramebufferState.cpp index 38bd38540..b33a6a171 100644 --- a/src/Magnum/Implementation/FramebufferState.cpp +++ b/src/Magnum/Implementation/FramebufferState.cpp @@ -34,9 +34,10 @@ namespace Magnum { namespace Implementation { #ifndef CORRADE_GCC46_COMPATIBILITY -constexpr -#endif +constexpr const Range2Di FramebufferState::DisengagedViewport; +#else const Range2Di FramebufferState::DisengagedViewport{{}, {-1, -1}}; +#endif FramebufferState::FramebufferState(Context& context, std::vector& extensions): readBinding{0}, drawBinding{0}, renderbufferBinding{0}, maxDrawBuffers{0}, maxColorAttachments{0}, maxRenderbufferSize{0}, maxSamples{0}, #ifndef MAGNUM_TARGET_GLES diff --git a/src/Magnum/Implementation/FramebufferState.h b/src/Magnum/Implementation/FramebufferState.h index cc0c9c932..29634c3c0 100644 --- a/src/Magnum/Implementation/FramebufferState.h +++ b/src/Magnum/Implementation/FramebufferState.h @@ -43,11 +43,11 @@ namespace Magnum { namespace Implementation { struct FramebufferState { - /* Also, GCC 4.6 doesn't have non-static member initializers */ #ifndef CORRADE_GCC46_COMPATIBILITY - constexpr - #endif + constexpr static const Range2Di DisengagedViewport{{}, {-1, -1}}; + #else static const Range2Di DisengagedViewport; + #endif explicit FramebufferState(Context& context, std::vector& extensions);