Merge branch 'master' into physics3d-material
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2017 Jérôme Leclercq
|
||||
// Copyright (C) 2017 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Core module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
@@ -11,13 +11,15 @@
|
||||
|
||||
#include <malloc.h>
|
||||
|
||||
// with MSVC, using alloca with a size of zero returns a valid pointer
|
||||
#define NAZARA_ALLOCA(size) _alloca(size)
|
||||
#define NAZARA_ALLOCA_SUPPORT
|
||||
|
||||
#elif defined(NAZARA_COMPILER_CLANG) || defined(NAZARA_COMPILER_GCC) || defined(NAZARA_COMPILER_INTEL)
|
||||
#include <alloca.h>
|
||||
|
||||
#define NAZARA_ALLOCA(size) alloca(size)
|
||||
// with Clang/GCC, using alloca with a size of zero does nothing good
|
||||
#define NAZARA_ALLOCA(size) alloca(((size) > 0) ? (size) : 1)
|
||||
#define NAZARA_ALLOCA_SUPPORT
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2017 Jérôme Leclercq
|
||||
// Copyright (C) 2017 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Core module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
@@ -70,11 +70,14 @@ namespace Nz
|
||||
* \brief Calls the object destructor explicitly
|
||||
*
|
||||
* \param ptr Pointer to a previously constructed pointer on raw memory
|
||||
*
|
||||
* \remark This does not deallocate memory, and is a no-op on a null pointer
|
||||
*/
|
||||
template<typename T>
|
||||
void PlacementDestroy(T* ptr)
|
||||
{
|
||||
ptr->~T();
|
||||
if (ptr)
|
||||
ptr->~T();
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
@@ -81,7 +81,7 @@ namespace Nz
|
||||
{
|
||||
static_assert(sizeof(T) % sizeof(UInt32) == 0, "Assertion failed");
|
||||
|
||||
// The algorithm for logarithm in base 2 only works with numbers greather than 32 bits
|
||||
// The algorithm for logarithm in base 2 only works with numbers greater than 32 bits
|
||||
// This code subdivides the biggest number into 32 bits ones
|
||||
for (int i = sizeof(T)-sizeof(UInt32); i >= 0; i -= sizeof(UInt32))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user