mirror of https://gitlab.com/rnger/amath
Support GCC 7 & C++11
This commit is contained in:
parent
1f5cbf5176
commit
2a7b341c71
30
src/main.cpp
30
src/main.cpp
|
@ -57,11 +57,29 @@ void operator delete[] (void* ptr) { FreeMemSafe(ptr); }
|
||||||
|
|
||||||
/* GCC 3+ */
|
/* GCC 3+ */
|
||||||
#if (__GNUC__ > 2)
|
#if (__GNUC__ > 2)
|
||||||
|
/* C++11 */
|
||||||
|
#if __cplusplus > 199711L
|
||||||
#include <new>
|
#include <new>
|
||||||
void* operator new (size_t size) throw(std::bad_alloc) { return AllocMemSafe(size); }
|
void* operator new (std::size_t size) { return AllocMemSafe(size); }
|
||||||
void* operator new[] (size_t size) throw(std::bad_alloc) { return AllocMemSafe(size); }
|
void* operator new (std::size_t size, const std::nothrow_t& nothrow_value) noexcept { return AllocMemSafe(size); }
|
||||||
void operator delete (void* ptr) throw() { FreeMemSafe(ptr); }
|
void* operator new[] (std::size_t size) { return AllocMemSafe(size); }
|
||||||
void operator delete[] (void* ptr) throw() { FreeMemSafe(ptr); }
|
void* operator new[] (std::size_t size, const std::nothrow_t& nothrow_value) noexcept { return AllocMemSafe(size); }
|
||||||
|
void operator delete (void* ptr) noexcept { FreeMemSafe(ptr); }
|
||||||
|
void operator delete (void* ptr, const std::nothrow_t& nothrow_constant) noexcept { FreeMemSafe(ptr); }
|
||||||
|
void operator delete[] (void* ptr) noexcept { FreeMemSafe(ptr); }
|
||||||
|
void operator delete[] (void* ptr, const std::nothrow_t& nothrow_constant) noexcept { FreeMemSafe(ptr); }
|
||||||
|
#else
|
||||||
|
/* C++98 */
|
||||||
|
#include <new>
|
||||||
|
void* operator new (std::size_t size) throw (std::bad_alloc) { return AllocMemSafe(size); }
|
||||||
|
void* operator new (std::size_t size, const std::nothrow_t& nothrow_value) throw() { return AllocMemSafe(size); }
|
||||||
|
void* operator new[] (std::size_t size) throw (std::bad_alloc) { return AllocMemSafe(size); }
|
||||||
|
void* operator new[] (std::size_t size, const std::nothrow_t& nothrow_value) throw() { return AllocMemSafe(size); }
|
||||||
|
void operator delete (void* ptr) throw() { FreeMemSafe(ptr); }
|
||||||
|
void operator delete (void* ptr, const std::nothrow_t& nothrow_constant) throw() { FreeMemSafe(ptr); }
|
||||||
|
void operator delete[] (void* ptr) throw() { FreeMemSafe(ptr); }
|
||||||
|
void operator delete[] (void* ptr, const std::nothrow_t& nothrow_constant) throw() { FreeMemSafe(ptr); }
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* MSVC++ */
|
/* MSVC++ */
|
||||||
|
@ -82,11 +100,11 @@ void WriteOutInt(int value) { printf("%i", value); }
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
#if defined(WITHTEST)
|
#if defined(WITHTEST)
|
||||||
if (argc == 2 && StrIsEqual(argv[1], "test"))
|
if (argc == 2 && StrIsEqual(argv[1], "--test"))
|
||||||
{
|
{
|
||||||
Program = new TestProgram(false);
|
Program = new TestProgram(false);
|
||||||
}
|
}
|
||||||
else if (argc == 2 && StrIsEqual(argv[1], "testz"))
|
else if (argc == 2 && StrIsEqual(argv[1], "--testz"))
|
||||||
{
|
{
|
||||||
Program = new TestProgram(true);
|
Program = new TestProgram(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,10 @@
|
||||||
#ifndef AMATH_LIB_COMPLEX_H
|
#ifndef AMATH_LIB_COMPLEX_H
|
||||||
#define AMATH_LIB_COMPLEX_H
|
#define AMATH_LIB_COMPLEX_H
|
||||||
|
|
||||||
|
#if __GNUC__ > 2
|
||||||
|
#pragma GCC diagnostic ignored "-Wbuiltin-declaration-mismatch"
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file mathi.h
|
* @file mathi.h
|
||||||
* @brief Complex numbers math library
|
* @brief Complex numbers math library
|
||||||
|
|
Loading…
Reference in New Issue