diff options
author | Jeff King <peff@peff.net> | 2014-05-06 11:17:50 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-05-06 15:30:40 -0700 |
commit | ff0a80af724e81dbad6a269847523e39c2e7e479 (patch) | |
tree | f2af81cd7cde8d61559dadfbaec8693b47532181 | |
parent | 87fe5df3653cf20b6bf9854bea42e4016c7d4688 (diff) | |
download | git-ff0a80af724e81dbad6a269847523e39c2e7e479.tar.gz git-ff0a80af724e81dbad6a269847523e39c2e7e479.tar.xz |
let clang use the constant-return error() macro
Commit e208f9c converted error() into a macro to make its
constant return value more apparent to calling code. Commit
5ded807 prevents us using this macro with clang, since
clang's -Wunused-value is smart enough to realize that the
constant "-1" is useless in some contexts.
However, since the last commit puts the constant behind an
inline function call, this is enough to prevent the
-Wunused-value warning on both modern gcc and clang. So we
can now re-enable the macro when compiling with clang.
Tested with clang 3.3, 3.4, and 3.5.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | cache.h | 2 | ||||
-rw-r--r-- | git-compat-util.h | 2 | ||||
-rw-r--r-- | parse-options.h | 2 |
3 files changed, 3 insertions, 3 deletions
@@ -1183,7 +1183,7 @@ 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__) +#if defined(__GNUC__) #define config_error_nonbool(s) (config_error_nonbool(s), const_error()) #endif extern const char *get_log_output_encoding(void); diff --git a/git-compat-util.h b/git-compat-util.h index 90b988a5c..38ff80307 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -342,7 +342,7 @@ 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__) +#if defined(__GNUC__) static inline int const_error(void) { return -1; diff --git a/parse-options.h b/parse-options.h index 1ef8da1f3..0a2b2e19a 100644 --- a/parse-options.h +++ b/parse-options.h @@ -179,7 +179,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__) +#if defined(__GNUC__) #define opterror(o,r,f) (opterror((o),(r),(f)), const_error()) #endif |