threads / patch / 34651

patchparse-options: fix clang opterror() -Wunused-value warning

Subject: [PATCH] parse-options: fix clang opterror() -Wunused-value warning

## tl;dr

2 messages between Aug 9, 2013 and Aug 9, 2013. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Eric Sunshine· Aug 9, 2013, 09:06 UTC · lore

a469a1019352b8ef (silence some -Wuninitialized false positives; 2012-12-15) triggered "unused value" warnings when the return value of opterror() and several other error-related functions was not used. 5ded807f7c0be10e (fix clang -Wunused-value warnings for error functions; 2013-01-16) applied a fix by adding #if !defined(__clang__) in cache.h and git-compat-util.h, but misspelled it as #if !defined(clang) in parse-options.h. Fix this.

This mistake went unnoticed because existing callers of opterror() utilize its return value. 1158826394e162c5 (parse-options: add OPT_CMDMODE(); 2013-07-30), however, adds a new invocation of opterror() which ignores the return value, thus triggering the "unused value" warning.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
---
 parse-options.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to parse-options.h +1 −1
diff --git a/parse-options.h b/parse-options.h
index aeab9aa..8736006 100644
--- a/parse-options.h
+++ b/parse-options.h
@@ -182,7 +182,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__) && ! defined(__clang__)
 #define opterror(o,r,f) (opterror((o),(r),(f)), -1)
 #endif
 
-- 
1.8.4.rc1.428.gcd48621
Jeff King· Aug 9, 2013, 10:32 UTC · re: Eric Sunshine · lore

Re: [PATCH] parse-options: fix clang opterror() -Wunused-value warning

On Fri, Aug 09, 2013 at 05:06:17AM -0400, Eric Sunshine wrote:
Show 13 quoted lines
> a469a1019352b8ef (silence some -Wuninitialized false positives;
> 2012-12-15) triggered "unused value" warnings when the return value of
> opterror() and several other error-related functions was not used.
> 5ded807f7c0be10e (fix clang -Wunused-value warnings for error functions;
> 2013-01-16) applied a fix by adding #if !defined(__clang__) in cache.h
> and git-compat-util.h, but misspelled it as #if !defined(clang) in
> parse-options.h. Fix this.
> 
> This mistake went unnoticed because existing callers of opterror()
> utilize its return value.  1158826394e162c5 (parse-options: add
> OPT_CMDMODE(); 2013-07-30), however, adds a new invocation of opterror()
> which ignores the return value, thus triggering the "unused value"
> warning.
Oops.

Patch looks obviously correct. Thanks for a nice explanation of what happened.

-Peff

← back to recent threads