diff --git a/library/PolyVoxCore/include/PolyVoxCore/Impl/ErrorHandling.h b/library/PolyVoxCore/include/PolyVoxCore/Impl/ErrorHandling.h index b6c656eb..5c6f6b0f 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/Impl/ErrorHandling.h +++ b/library/PolyVoxCore/include/PolyVoxCore/Impl/ErrorHandling.h @@ -48,12 +48,7 @@ freely, subject to the following restrictions: // Macros cannot contain #ifdefs, but some of our macros need to disable warnings and such warning supression is // platform specific. But macros can contain other macros, so we create macros to control the warnings and use -// those instead. -// -// Note that we have seperate macros for POLYVOX_MSC_..., POLYVOX_GCC_..., etc. In princpiple we could have just one -// as compilers should ignore pragmas they don't recognise, but in practice at least MSVC complains about this as -// well. So in practice it's just eaier to have seperate macros. We could look into the compiler switch to not warn -// on unrecognised pragmas though. +// those instead. This set of warning supression macros can be extended to GCC/Clang when required. #if defined(_MSC_VER) #define POLYVOX_MSC_WARNING_PUSH __pragma(warning(push)) #define POLYVOX_DISABLE_MSC_WARNING(x) __pragma(warning(disable:x)) @@ -64,16 +59,6 @@ freely, subject to the following restrictions: #define POLYVOX_MSC_WARNING_POP #endif -#if defined(__GNUC__) - #define POLYVOX_GCC_WARNING_PUSH #pragma GCC diagnostic push - #define POLYVOX_DISABLE_GCC_WARNING(x) #pragma GCC diagnostic ignored x - #define POLYVOX_GCC_WARNING_POP #pragma GCC diagnostic pop -#else - #define POLYVOX_GCC_WARNING_PUSH - #define POLYVOX_DISABLE_GCC_WARNING(x) - #define POLYVOX_GCC_WARNING_POP -#endif - #define POLYVOX_UNUSED(x) do { (void)sizeof(x); } while(0) /* diff --git a/library/PolyVoxCore/include/PolyVoxCore/MaterialDensityPair.h b/library/PolyVoxCore/include/PolyVoxCore/MaterialDensityPair.h index a051f74e..cdde07f7 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/MaterialDensityPair.h +++ b/library/PolyVoxCore/include/PolyVoxCore/MaterialDensityPair.h @@ -75,31 +75,8 @@ namespace PolyVox Type getDensity() const { return m_uDensity; } Type getMaterial() const { return m_uMaterial; } - void setDensity(Type uDensity) - { - // Depending on our underlying type it may be impossible for the assert below to be triggered (i.e. if density is stored as - // Type, rather than just using a few bits of Type). GCC will warn about this but it's redundant so we diable the warning. - POLYVOX_GCC_WARNING_PUSH - POLYVOX_DISABLE_GCC_WARNING("-Wtype-limits") - POLYVOX_ASSERT(uDensity >= getMinDensity(), "Density out of range"); - POLYVOX_ASSERT(uDensity <= getMaxDensity(), "Density out of range"); - POLYVOX_GCC_WARNING_POP - - m_uDensity = uDensity; - } - - void setMaterial(Type uMaterial) - { - // Depending on our underlying type it may be impossible for the assert below to be triggered (i.e. if material is stored as - // Type, rather than just using a few bits of Type). GCC will warn about this but it's redundant so we diable the warning. - POLYVOX_GCC_WARNING_PUSH - POLYVOX_DISABLE_GCC_WARNING("-Wtype-limits") - POLYVOX_ASSERT(uMaterial >= 0, "Material out of range"); - POLYVOX_ASSERT(uMaterial <= (0x01 << NoOfMaterialBits) - 1, "Material out of range"); - POLYVOX_GCC_WARNING_POP - - m_uMaterial = uMaterial; - } + void setDensity(Type uDensity) { m_uDensity = uDensity; } + void setMaterial(Type uMaterial) { m_uMaterial = uMaterial; } static Type getMaxDensity() { return (0x01 << NoOfDensityBits) - 1; } static Type getMinDensity() { return 0; }