diff -up swig-3.0.8/Lib/typemaps/fragments.swg.orig swig-3.0.8/Lib/typemaps/fragments.swg --- swig-3.0.8/Lib/typemaps/fragments.swg.orig 2015-12-30 23:23:47.000000000 +0100 +++ swig-3.0.8/Lib/typemaps/fragments.swg 2016-03-01 10:13:29.840682167 +0100 @@ -168,8 +168,11 @@ %fragment("SWIG_isfinite","header",fragment=",") %{ /* Getting isfinite working pre C99 across multiple platforms is non-trivial. Users can provide SWIG_isfinite on older platforms. */ #ifndef SWIG_isfinite +/* isfinite() is a macro for C99, but a function in namespace std for C++11. */ # if defined(isfinite) # define SWIG_isfinite(X) (isfinite(X)) +# elif defined __cplusplus && __cplusplus >= 201103L +# define SWIG_isfinite(X) (std::isfinite(X)) # elif defined(_MSC_VER) # define SWIG_isfinite(X) (_finite(X)) # elif defined(__sun) && defined(__SVR4)