From f64f84744e86ee194f29390852bfe7aa0fd096fc Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 18 Dec 2019 20:02:20 -0800 Subject: [PATCH] more fun with isinf() and friends. GNU libstdc++ prior to GCC 6.1.0, the overlay math.h always includes math.h from glibc, which defines isinf() and friends. GCC 6.1.0 includes a change (6c8ced3f4f867b72a623fe2f23efa204c5786a28) so that the overlay math.h never includes the glibc math.h when compiling c++. The overlay math.h sometimes includes "using std::isinf" Determined by inspecting libc math.h when building gcc. --- src/libCom/osi/os/posix/epicsMath.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libCom/osi/os/posix/epicsMath.h b/src/libCom/osi/os/posix/epicsMath.h index a8e9b815f..6a76f0afb 100644 --- a/src/libCom/osi/os/posix/epicsMath.h +++ b/src/libCom/osi/os/posix/epicsMath.h @@ -18,11 +18,13 @@ #if __cplusplus>=201103L #include +#if __GLIBCXX__>20160427 using std::isfinite; using std::isinf; using std::isnan; using std::isnormal; #endif +#endif /* c++11 */ extern "C" { #endif