From 87fe5df3653cf20b6bf9854bea42e4016c7d4688 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Tue, 6 May 2014 11:14:42 -0400 Subject: inline constant return from error() function Commit e208f9c introduced a macro to turn error() calls into: (error(), -1) to make the constant return value more visible to the calling code (and thus let the compiler make better decisions about the code). This works well for code like: return error(...); but the "-1" is superfluous in code that just calls error() without caring about the return value. In older versions of gcc, that was fine, but gcc 4.9 complains with -Wunused-value. We can work around this by encapsulating the constant return value in a static inline function, as gcc specifically avoids complaining about unused function returns unless the function has been specifically marked with the warn_unused_result attribute. We also use the same trick for config_error_nonbool and opterror, which learned the same error technique in a469a10. Reported-by: Felipe Contreras Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- cache.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cache.h') diff --git a/cache.h b/cache.h index ebe9a405d8..001b63f5cd 100644 --- a/cache.h +++ b/cache.h @@ -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); -- cgit v1.2.3