c4306de122
The way the build was fixed for gcc >= 5.3 breaks the build for older compiler versions on waf. Fix this by ifdef'ing for WAF_BUILD and checking the compiler version.
37 lines
930 B
Plaintext
37 lines
930 B
Plaintext
#pragma once
|
|
|
|
#include_next <cmath>
|
|
|
|
#ifndef WAF_BUILD
|
|
# ifdef __GNUG__
|
|
# define _GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
|
# if _GCC_VERSION >= 50300
|
|
# ifndef HAVE_CMATH_ISFINITE
|
|
# define HAVE_CMATH_ISFINITE
|
|
# define NEED_CMATH_ISFINITE_STD_NAMESPACE
|
|
# endif
|
|
# ifndef HAVE_CMATH_ISINF
|
|
# define HAVE_CMATH_ISINF
|
|
# define NEED_CMATH_ISINF_STD_NAMESPACE
|
|
# endif
|
|
# ifndef HAVE_CMATH_ISNAN
|
|
# define HAVE_CMATH_ISNAN
|
|
# define NEED_CMATH_ISNAN_STD_NAMESPACE
|
|
# endif
|
|
# endif
|
|
# undef _GCC_VERSION
|
|
# endif
|
|
#endif
|
|
|
|
#if defined(HAVE_CMATH_ISFINITE) && defined(NEED_CMATH_ISFINITE_STD_NAMESPACE)
|
|
using std::isfinite;
|
|
#endif
|
|
|
|
#if defined(HAVE_CMATH_ISINF) && defined(NEED_CMATH_ISINF_STD_NAMESPACE)
|
|
using std::isinf;
|
|
#endif
|
|
|
|
#if defined(HAVE_CMATH_ISNAN) && defined(NEED_CMATH_ISNAN_STD_NAMESPACE)
|
|
using std::isnan;
|
|
#endif
|