changeset 13618:ea4f2a8040b4 v8.0.1681

patch 8.0.1681: the format attribute fails with MinGW commit https://github.com/vim/vim/commit/e80757c1545286240d687e9a303cf8eeb3f9a6de Author: Bram Moolenaar <Bram@vim.org> Date: Tue Apr 10 12:42:44 2018 +0200 patch 8.0.1681: the format attribute fails with MinGW Problem: The format attribute fails with MinGW. (John Marriott) Solution: Don't use the format attribute with MinGW.
author Christian Brabandt <cb@256bit.org>
date Tue, 10 Apr 2018 12:45:06 +0200
parents 73b1401bf021
children 41ed86454233
files src/channel.c src/proto.h src/version.c src/vim.h
diffstat 4 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/channel.c
+++ b/src/channel.c
@@ -179,8 +179,8 @@ ch_log(channel_T *ch, const char *fmt, .
 
     static void
 ch_error(channel_T *ch, const char *fmt, ...)
-#ifdef __GNUC__
-__attribute__((format(printf, 2, 3)))
+#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
+    __attribute__((format(printf, 2, 3)))
 #endif
     ;
 
--- a/src/proto.h
+++ b/src/proto.h
@@ -120,7 +120,7 @@ int
 _RTLENTRYF
 #  endif
 vim_snprintf_add(char *, size_t, char *, ...)
-#ifdef __GNUC__
+#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
     __attribute__((format(printf, 3, 4)))
 #endif
     ;
@@ -130,7 +130,7 @@ int
 _RTLENTRYF
 #  endif
 vim_snprintf(char *, size_t, char *, ...)
-#ifdef __GNUC__
+#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
     __attribute__((format(printf, 3, 4)))
 #endif
     ;
@@ -223,7 +223,7 @@ void qsort(void *base, size_t elm_count,
 
 /* Not generated automatically, to add extra attribute. */
 void ch_log(channel_T *ch, const char *fmt, ...)
-#ifdef __GNUC__
+#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
     __attribute__((format(printf, 2, 3)))
 #endif
     ;
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1681,
+/**/
     1680,
 /**/
     1679,
--- a/src/vim.h
+++ b/src/vim.h
@@ -2085,6 +2085,10 @@ typedef struct _stat64 stat_T;
 typedef struct stat stat_T;
 #endif
 
+#if defined(__GNUC__) && !defined(__MINGW32__)
+# define USE_PRINTF_FORMAT_ATTRIBUTE
+#endif
+
 typedef enum
 {
     ASSERT_EQUAL,