Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Krell <jay.krell@cornell.edu>2018-09-26 12:45:59 +0300
committerGitHub <noreply@github.com>2018-09-26 12:45:59 +0300
commit4259352d3a7d4b8d6b9980c4e2da844957710609 (patch)
tree3009299263f946a5b16a4d258cae3adf10249adb /winconfig.h
parent352639f75a389150a1562ebf72a7d46f4acc475e (diff)
[cxx] Rework C++ linkage to C99 trunc, isnan, isinf, etc. and some cleanup. (#10764)
This PR cleanups C++SDKs support and gets them all passing for the first time, esp. Android (WebAssembly already was, iOS uncertain before, green here). * Current Visual C++ has signbit. * Rework C++ linkage to C99 math-- trunc, isnan, isinf, etc. Go through mono wrappers that are compiled as C. Remove support for Visual C++ pre-2015 and non-C99 Solaris. (Solaris has plenty of other problems compiling.) Cleanup Windows ssize_t support. * Remove trunc and aintl autoconfigury. Use trunc unconditionally. (aintl is a Solaris near equivalent to trunc). * Replace dis_isnan with mono_isnan. * Interpreter already assumes presence of isinf and isfinite, so everywhere else might as well too. A fair amount of cleanup therefore -- autoconf, ifdef, etc. If this changes back, the mono_isinf, etc. wrappers are likely, but not necessarily, where to handle it for everyone, not sprinkling ifdefs and alternate implementations around -- assuming all users want the same fallback. As well, we might want to import some good BSD libc versions of all these if there is any remaining question of portability. *Everyone* except old VAX and Cray have always used the same 32bit float and 64bit double representations since circa 1985 so these are all probably about one line of portable C89/C++98 each, maybe with endian sensitivity.
Diffstat (limited to 'winconfig.h')
-rw-r--r--winconfig.h22
1 files changed, 4 insertions, 18 deletions
diff --git a/winconfig.h b/winconfig.h
index 9e1ffc5ad8c..47491d77095 100644
--- a/winconfig.h
+++ b/winconfig.h
@@ -107,9 +107,6 @@
/* Enable DTrace probes */
/* #undef ENABLE_DTRACE */
-/* Has the 'aintl' function */
-/* #undef HAVE_AINTL */
-
/* Supports C99 array initialization */
/* #undef HAVE_ARRAY_ELEM_INIT */
@@ -201,9 +198,6 @@
/* Define to 1 if you have the `fgetpwent' function. */
/* #undef HAVE_FGETPWENT */
-/* Define to 1 if you have the `finite' function. */
-/* #undef HAVE_FINITE */
-
/* Define to 1 if you have the <fstab.h> header file. */
/* #undef HAVE_FSTAB_H */
@@ -258,9 +252,6 @@
/* Define to 1 if you have the <grp.h> header file. */
/* #undef HAVE_GRP_H */
-/* Define to 1 if you have the <ieeefp.h> header file. */
-/* #undef HAVE_IEEEFP_H */
-
/* Define to 1 if you have the `inet_aton' function. */
/* #undef HAVE_INET_ATON */
@@ -282,12 +273,6 @@
/* Have IP_PKTINFO */
/* #undef HAVE_IP_PKTINFO */
-/* Define to 1 if you have the `isfinite' function. */
-/* #undef HAVE_ISFINITE */
-
-/* isinf available */
-#define HAVE_ISINF 1
-
/* Define to 1 if you have the `kqueue' function. */
/* #undef HAVE_KQUEUE */
@@ -414,7 +399,11 @@
#define HAVE_SIGNAL_H 1
/* Have signbit */
+#if _MSC_VER >= 1900
+#define HAVE_SIGNBIT 1
+#else
/* #undef HAVE_SIGNBIT */
+#endif
/* Can get interface list */
/* #undef HAVE_SIOCGIFCONF */
@@ -575,9 +564,6 @@
/* Have tm_gmtoff */
/* #undef HAVE_TM_GMTOFF */
-/* Define to 1 if you have the `trunc' function. */
-#define HAVE_TRUNC 1
-
/* Define to 1 if you have the `ttyname_r' function. */
/* #undef HAVE_TTYNAME_R */