From 2ea0994507e748eb0cf5df166d3ff4ad12be4ec2 Mon Sep 17 00:00:00 2001 From: Jack Harper Date: Tue, 9 Mar 2021 13:04:57 +0000 Subject: [PATCH 1/2] tests passing --- src/libCom/osi/os/WIN32/osdStrtod.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/libCom/osi/os/WIN32/osdStrtod.h b/src/libCom/osi/os/WIN32/osdStrtod.h index 4edb444ee..9a2e8d75e 100644 --- a/src/libCom/osi/os/WIN32/osdStrtod.h +++ b/src/libCom/osi/os/WIN32/osdStrtod.h @@ -13,10 +13,6 @@ extern "C" { #endif -/* - * epicsStrtod() for systems with broken strtod() routine - */ -epicsShareFunc double epicsStrtod(const char *str, char **endp); /* * Microsoft apparently added strto[u]ll() in VS2013 @@ -28,6 +24,15 @@ epicsShareFunc double epicsStrtod(const char *str, char **endp); # define strtoull _strtoui64 #endif +#if (_MSC_VER < 1800) && defined(_MINGW) +/* + * epicsStrtod() for systems with broken strtod() routine + */ +epicsShareFunc double epicsStrtod(const char *str, char **endp); +#else +# define epicsStrtod strtod +#endif + #ifdef __cplusplus } #endif From 30172226f9ea5a413526749cd24f812e19817634 Mon Sep 17 00:00:00 2001 From: Jack Harper Date: Tue, 9 Mar 2021 13:13:16 +0000 Subject: [PATCH 2/2] whoops, MSVC 1900 not 1800 --- src/libCom/osi/os/WIN32/osdStrtod.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libCom/osi/os/WIN32/osdStrtod.h b/src/libCom/osi/os/WIN32/osdStrtod.h index 9a2e8d75e..a7df57002 100644 --- a/src/libCom/osi/os/WIN32/osdStrtod.h +++ b/src/libCom/osi/os/WIN32/osdStrtod.h @@ -24,7 +24,11 @@ extern "C" { # define strtoull _strtoui64 #endif -#if (_MSC_VER < 1800) && defined(_MINGW) +/* + * strtod works in MSVC 1900 and mingw, use + * the OS version in those and our own otherwise + */ +#if (_MSC_VER < 1900) && !defined(_MINGW) /* * epicsStrtod() for systems with broken strtod() routine */