# HG changeset patch # User Christian Brabandt # Date 1523357106 -7200 # Node ID ea4f2a8040b4ab7111c02c71aa587e2ac121aa6b # Parent 73b1401bf0216270eb71d8b2df75f6500133be60 patch 8.0.1681: the format attribute fails with MinGW commit https://github.com/vim/vim/commit/e80757c1545286240d687e9a303cf8eeb3f9a6de Author: Bram Moolenaar 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. diff --git a/src/channel.c b/src/channel.c --- 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 ; diff --git a/src/proto.h b/src/proto.h --- 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 ; diff --git a/src/version.c b/src/version.c --- 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, diff --git a/src/vim.h b/src/vim.h --- 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,