diff --git a/src/edit.c b/src/edit.c
index ee30a3e..4cb727c 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -69,11 +69,7 @@
     compl_T	*cp_prev;
     char_u	*cp_str;	/* matched text */
     char	cp_icase;	/* TRUE or FALSE: ignore case */
-#ifdef S_SPLINT_S  /* splint can't handle array of pointers */
-    char_u	**cp_text;	/* text for the menu */
-#else
     char_u	*(cp_text[CPT_COUNT]);	/* text for the menu */
-#endif
     char_u	*cp_fname;	/* file containing the match, allocated when
 				 * cp_flags has FREE_FNAME */
     int		cp_flags;	/* ORIGINAL_TEXT, CONT_S_IPOS or FREE_FNAME */
@@ -3835,11 +3831,7 @@
     char_u	*word;
     int		icase = FALSE;
     int		adup = FALSE;
-#ifdef S_SPLINT_S  /* splint doesn't parse array of pointers correctly */
-    char_u	**cptext;
-#else
     char_u	*(cptext[CPT_COUNT]);
-#endif
 
     if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
     {
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 8a0a9ec..a132963 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -5776,10 +5776,6 @@
 {
     char_u	*s, *d;
     int		i;
-#ifdef S_SPLINT_S  /* splint doesn't understand array of pointers */
-    static char **mtable;
-    static char **rtable;
-#else
     static char *(mtable[]) = {"*", "g*", "[*", "]*", ":*",
 			       "/*", "/\\*", "\"*", "**",
 			       "/\\(\\)",
@@ -5794,7 +5790,6 @@
 			       "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
 			       "\\[count]", "\\[quotex]", "\\[range]",
 			       "\\[pattern]", "\\\\bar", "/\\\\%\\$"};
-#endif
     int flags;
 
     d = IObuff;		    /* assume IObuff is long enough! */
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 15ec54c..1c4ec59 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -9395,13 +9395,7 @@
 {
     int		len;
     int		i;
-#ifdef S_SPLINT_S  /* splint can't handle array of pointers */
-    static char **spec_str;
-    static char *(nospec_str[])
-#else
-    static char *(spec_str[])
-#endif
-	= {
+    static char *(spec_str[]) = {
 		    "%",
 #define SPEC_PERC   0
 		    "#",
diff --git a/src/os_unix.c b/src/os_unix.c
index 88b3a65..4b0f873 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -199,9 +199,7 @@
 #endif
 
 #ifndef SIG_ERR
-# ifndef S_SPLINT_S
-#  define SIG_ERR	((RETSIGTYPE (*)())-1)
-# endif
+# define SIG_ERR	((RETSIGTYPE (*)())-1)
 #endif
 
 /* volatile because it is used in signal handler sig_winch(). */
@@ -443,9 +441,7 @@
 
 #if defined(HAVE_TOTAL_MEM) || defined(PROTO)
 # ifdef HAVE_SYS_RESOURCE_H
-#  ifndef S_SPLINT_S  /* splint crashes on bits/resource.h */
-#   include <sys/resource.h>
-#  endif
+#  include <sys/resource.h>
 # endif
 # if defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTL)
 #  include <sys/sysctl.h>
diff --git a/src/os_unix.h b/src/os_unix.h
index dd70939..944cc1b 100644
--- a/src/os_unix.h
+++ b/src/os_unix.h
@@ -53,9 +53,7 @@
 #endif
 
 #ifdef HAVE_UNISTD_H
-# ifndef S_SPLINT_S  /* splint crashes on bits/confname.h */
-#  include <unistd.h>
-# endif
+# include <unistd.h>
 #endif
 
 #ifdef HAVE_LIBC_H
diff --git a/src/structs.h b/src/structs.h
index 25012d6..95b5e62 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1646,11 +1646,7 @@
 #endif
 #ifdef FEAT_DIFF
     diff_T	    *tp_first_diff;
-# ifdef S_SPLINT_S  /* splint doesn't understand the array of pointers */
-    buf_T	    **tp_diffbuf;
-# else
     buf_T	    *(tp_diffbuf[DB_COUNT]);
-# endif
     int		    tp_diff_invalid;	/* list of diffs is outdated */
 #endif
     frame_T	    *tp_snapshot;    /* window layout snapshot */
diff --git a/src/term.h b/src/term.h
index b1fde04..cc9f8ac 100644
--- a/src/term.h
+++ b/src/term.h
@@ -96,11 +96,7 @@
  * - there should be code in term.c to obtain the value from the termcap
  */
 
-#ifdef S_SPLINT_S  /* splint doesn't understand array of pointers */
-extern char_u **term_strings;    /* current terminal strings */
-#else
 extern char_u *(term_strings[]);    /* current terminal strings */
-#endif
 
 /*
  * strings used for terminal
diff --git a/src/version.c b/src/version.c
index ed64ece..3863fae 100644
--- a/src/version.c
+++ b/src/version.c
@@ -677,6 +677,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    176,
+/**/
     175,
 /**/
     174,
