diff options
-rw-r--r-- | cache.h | 2 | ||||
-rw-r--r-- | git-compat-util.h | 6 | ||||
-rw-r--r-- | parse-options.h | 2 |
3 files changed, 7 insertions, 3 deletions
@@ -1184,7 +1184,7 @@ extern int git_env_bool(const char *, int); extern int git_config_system(void); extern int config_error_nonbool(const char *); #if defined(__GNUC__) && ! defined(__clang__) -#define config_error_nonbool(s) (config_error_nonbool(s), -1) +#define config_error_nonbool(s) (config_error_nonbool(s), const_error()) #endif extern const char *get_log_output_encoding(void); extern const char *get_commit_output_encoding(void); diff --git a/git-compat-util.h b/git-compat-util.h index d493a8c67a..90b988a5c1 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -343,7 +343,11 @@ extern void warning(const char *err, ...) __attribute__((format (printf, 1, 2))) * using the function as usual. */ #if defined(__GNUC__) && ! defined(__clang__) -#define error(...) (error(__VA_ARGS__), -1) +static inline int const_error(void) +{ + return -1; +} +#define error(...) (error(__VA_ARGS__), const_error()) #endif extern void set_die_routine(NORETURN_PTR void (*routine)(const char *err, va_list params)); diff --git a/parse-options.h b/parse-options.h index d670cb9669..1ef8da1f3e 100644 --- a/parse-options.h +++ b/parse-options.h @@ -180,7 +180,7 @@ extern NORETURN void usage_msg_opt(const char *msg, extern int optbug(const struct option *opt, const char *reason); extern int opterror(const struct option *opt, const char *reason, int flags); #if defined(__GNUC__) && ! defined(__clang__) -#define opterror(o,r,f) (opterror((o),(r),(f)), -1) +#define opterror(o,r,f) (opterror((o),(r),(f)), const_error()) #endif /*----- incremental advanced APIs -----*/ |