Moving some macros.
This commit is contained in:
parent
f16a247934
commit
64c30044b0
@ -24,6 +24,7 @@ distribution.
|
||||
#ifndef __PolyVox_Array_H__
|
||||
#define __PolyVox_Array_H__
|
||||
|
||||
#include <PolyVox/Impl/Typedef.h>
|
||||
#include <PolyVox/Impl/ErrorHandling.h>
|
||||
|
||||
#include <cstdint>
|
||||
|
@ -35,19 +35,6 @@ freely, subject to the following restrictions:
|
||||
#include <string.h> // Exception constuctors take strings.
|
||||
#include <csignal>
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
// In Visual Studio we can use this function to go into the debugger.
|
||||
#define POLYVOX_HALT() __debugbreak()
|
||||
#else
|
||||
// On other platforms we just halt by forcing a crash.
|
||||
// Hopefully this puts us in the debugger if one is running
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
#define POLYVOX_HALT() raise(SIGTRAP)
|
||||
#else
|
||||
#define POLYVOX_HALT() *((unsigned int*)0) = 0xDEAD
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// 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. This set of warning supression macros can be extended to GCC/Clang when required.
|
||||
@ -61,8 +48,6 @@ freely, subject to the following restrictions:
|
||||
#define POLYVOX_MSC_WARNING_POP
|
||||
#endif
|
||||
|
||||
#define POLYVOX_UNUSED(x) do { (void)sizeof(x); } while(0)
|
||||
|
||||
/*
|
||||
* Assertions
|
||||
* ----------
|
||||
|
@ -91,7 +91,7 @@ namespace PolyVox
|
||||
{
|
||||
std::ostringstream oss;
|
||||
int a[] = { 0, ((void)(oss << args), 0) ... };
|
||||
(void)a; // Prevent warnings about unused param
|
||||
(void)a; // POLYVOX_UNUSED() doesn't seem to work here?
|
||||
return oss.str();
|
||||
}
|
||||
|
||||
|
@ -71,4 +71,24 @@ freely, subject to the following restrictions:
|
||||
#define POLYVOX_LOCAL
|
||||
#endif // POLYVOX_SHARED
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
// In Visual Studio we can use this function to go into the debugger.
|
||||
#define POLYVOX_HALT() __debugbreak()
|
||||
#else
|
||||
// On other platforms we just halt by forcing a crash.
|
||||
// Hopefully this puts us in the debugger if one is running
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
#define POLYVOX_HALT() raise(SIGTRAP)
|
||||
#else
|
||||
#define POLYVOX_HALT() *((unsigned int*)0) = 0xDEAD
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Used to prevent the compiler complaining about unused varuables, particularly useful when
|
||||
// e.g. asserts are disabled and the parameter it was checking isn't used anywhere else.
|
||||
// Note that this implementation doesn't seem to work everywhere, for some reason I have
|
||||
// seen it give compile errors when combined with variadic template functions (to be confirmed)?
|
||||
// Implementation from here: http://stackoverflow.com/a/4851173/2337254
|
||||
#define POLYVOX_UNUSED(x) do { (void)sizeof(x); } while(0)
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user