Mercurial > vim
diff src/vim.h @ 25475:038eb6d9003a v8.2.3274
patch 8.2.3274: macro for printf format check can be simplified
Commit: https://github.com/vim/vim/commit/952d9d827e5bfc66a6b1d39956e4e5596b09e2bd
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Aug 2 18:07:18 2021 +0200
patch 8.2.3274: macro for printf format check can be simplified
Problem: Macro for printf format check can be simplified.
Solution: Add ATTRIBUTE_FORMAT_PRINTF(). (Dominique Pell?, issue https://github.com/vim/vim/issues/8635)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 02 Aug 2021 18:15:06 +0200 |
parents | 05f9e8f2016c |
children | 154663508d9b |
line wrap: on
line diff
--- a/src/vim.h +++ b/src/vim.h @@ -2132,8 +2132,21 @@ typedef struct _stat64 stat_T; typedef struct stat stat_T; #endif -#if defined(__GNUC__) && !defined(__MINGW32__) -# define USE_PRINTF_FORMAT_ATTRIBUTE +#if (defined(__GNUC__) || defined(__clang__)) && !defined(__MINGW32__) +# define ATTRIBUTE_FORMAT_PRINTF(fmt_idx, arg_idx) \ + __attribute__((format(printf, fmt_idx, arg_idx))) +#else +# define ATTRIBUTE_FORMAT_PRINTF(fmt_idx, arg_idx) +#endif + +#if defined(__GNUC__) || defined(__clang__) +# define likely(x) __builtin_expect((x), 1) +# define unlikely(x) __builtin_expect((x), 0) +# define ATTRIBUTE_COLD __attribute__((cold)) +#else +# define unlikely(x) (x) +# define likely(x) (x) +# define ATTRIBUTE_COLD #endif typedef enum {