Re: gperf/src/options.cc -- quiesce clang warnings -Wlogical-op-parentheses

From: Sean Bruno <sean_bruno_at_yahoo.com>
Date: Mon, 21 Oct 2013 19:43:46 -0400
On Sun, 2013-10-20 at 23:50 -0400, Sean Bruno wrote:
> gperf has some clang warnings that seem to be harmless, but annoying
> regarding some of the logical operations around detecting ascii chars:
> 
> c++ -O2 -pipe -I/usr/obj/usr/src/tmp/legacy/usr/include -Wno-c
> ++11-extensions
> -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib
> -I/usr/src/gnu/usr.bin/g
> perf
> -c /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/options.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/options.cc:284:27:
> warning: '&&' within '||' [-Wlogical-op-parentheses]
>           if (*arg >= 'A' && *arg <= 'Z' || *arg >= 'a' && *arg <=
> 'z')
>               ~~~~~~~~~~~~^~~~~~~~~~~~~~ ~~
> 
> 

Heh, Matthew suggested the obvious in private mail, it seems that this
would be better "spelled" as "isalpha" :-)

Index: contrib/gperf/src/options.cc
===================================================================
--- contrib/gperf/src/options.cc	(revision 256865)
+++ contrib/gperf/src/options.cc	(working copy)
_at__at_ -281,7 +281,7 _at__at_
         {
           putchar (*arg);
           arg++;
-          if (*arg >= 'A' && *arg <= 'Z' || *arg >= 'a' && *arg <= 'z')
+          if (isalpha(*arg))
             {
               putchar (*arg);
               arg++;
_at__at_ -293,7 +293,7 _at__at_
                   putchar (*arg);
                   arg++;
                 }
-              while (*arg >= 'A' && *arg <= 'Z' || *arg >= 'a' && *arg
<= 'z' || *arg == '-');
+              while (isalpha(*arg) || *arg == '-');
               if (*arg == '=')
                 {
                   putchar (*arg);


Received on Mon Oct 21 2013 - 21:43:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:43 UTC