patch 8.0.0123
Problem: Modern Sun compilers define "__sun" instead of "sun".
Solution: Use __sun. (closes #1296)
diff --git a/src/vim.h b/src/vim.h
index de26c63..ef75ea2 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -268,6 +268,11 @@
# define UNUSED
#endif
+/* Used to check for "sun", "__sun" is used by newer compilers. */
+#if defined(__sun)
+# define SUN_SYSTEM
+#endif
+
/* if we're compiling in C++ (currently only KVim), the system
* headers must have the correct prototypes or nothing will build.
* conversely, our prototypes might clash due to throw() specifiers and
@@ -2487,7 +2492,7 @@
#define FNE_INCL_BR 1 /* include [] in name */
#define FNE_CHECK_START 2 /* check name starts with valid character */
-#if (defined(sun) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) \
+#if (defined(SUN_SYSTEM) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) \
&& defined(S_ISCHR)
# define OPEN_CHR_FILES
#endif