diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-06-06 11:21:36 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-06-06 11:21:36 -0700 |
commit | 610a14f643b1dfe188e938492425cc88d96025a8 (patch) | |
tree | 419bdf6d93f09a4f3551652be0686ba609870f54 | |
parent | d2a274aa87d69786aa95da2f2eab88aa6b77644f (diff) | |
parent | ff0a80af724e81dbad6a269847523e39c2e7e479 (diff) | |
download | git-610a14f643b1dfe188e938492425cc88d96025a8.tar.gz |
Merge branch 'jk/squelch-compiler-warning-from-funny-error-macro'
* jk/squelch-compiler-warning-from-funny-error-macro:
let clang use the constant-return error() macro
inline constant return from error() function
-rw-r--r-- | cache.h | 4 | ||||
-rw-r--r-- | git-compat-util.h | 8 | ||||
-rw-r--r-- | parse-options.h | 4 |
3 files changed, 10 insertions, 6 deletions
@@ -1294,8 +1294,8 @@ extern int check_repository_format_version(const char *var, const char *value, v 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) +#if defined(__GNUC__) +#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 76910e6cd1..7849d31405 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -330,8 +330,12 @@ extern void warning(const char *err, ...) __attribute__((format (printf, 1, 2))) * trying to help gcc, anyway, it's OK; other compilers will fall back to * using the function as usual. */ -#if defined(__GNUC__) && ! defined(__clang__) -#define error(...) (error(__VA_ARGS__), -1) +#if defined(__GNUC__) +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 3189676695..7940bc71af 100644 --- a/parse-options.h +++ b/parse-options.h @@ -176,8 +176,8 @@ 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) +#if defined(__GNUC__) +#define opterror(o,r,f) (opterror((o),(r),(f)), const_error()) #endif /*----- incremental advanced APIs -----*/ |