diff --git a/src/version.c b/src/version.c
index f881c1f..078775c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    515,
+/**/
     514,
 /**/
     513,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 5101456..526f25b 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -368,7 +368,8 @@
     functype->tt_args = ALLOC_CLEAR_MULT(type_T *, argcount);
     if (functype->tt_args == NULL)
 	return FAIL;
-    ((type_T **)type_gap->ga_data)[type_gap->ga_len] = (void *)functype->tt_args;
+    ((type_T **)type_gap->ga_data)[type_gap->ga_len] =
+						     (void *)functype->tt_args;
     ++type_gap->ga_len;
 
     functype->tt_argcount = argcount;
@@ -1846,7 +1847,7 @@
 
 	    if (i > 0)
 	    {
-		STRCPY(ga.ga_data + ga.ga_len, ", ");
+		STRCPY((char *)ga.ga_data + ga.ga_len, ", ");
 		ga.ga_len += 2;
 	    }
 	    len = (int)STRLEN(arg_type);
@@ -1856,13 +1857,13 @@
 		return "[unknown]";
 	    }
 	    *tofree = ga.ga_data;
-	    STRCPY(ga.ga_data + ga.ga_len, arg_type);
+	    STRCPY((char *)ga.ga_data + ga.ga_len, arg_type);
 	    ga.ga_len += len;
 	    vim_free(arg_free);
 	}
 
 	if (type->tt_member == &t_void)
-	    STRCPY(ga.ga_data + ga.ga_len, ")");
+	    STRCPY((char *)ga.ga_data + ga.ga_len, ")");
 	else
 	{
 	    char *ret_free;
@@ -1876,8 +1877,8 @@
 		return "[unknown]";
 	    }
 	    *tofree = ga.ga_data;
-	    STRCPY(ga.ga_data + ga.ga_len, "): ");
-	    STRCPY(ga.ga_data + ga.ga_len + 3, ret_name);
+	    STRCPY((char *)ga.ga_data + ga.ga_len, "): ");
+	    STRCPY((char *)ga.ga_data + ga.ga_len + 3, ret_name);
 	    vim_free(ret_free);
 	}
 	return ga.ga_data;
