https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97316

            Bug ID: 97316
           Summary: config/libbid/bid64_noncomp.c: 7 * pointless test ?
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcc
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

1.

trunk.git/libgcc/config/libbid/bid64_noncomp.c:91:39: style: Mismatching
assignment and comparison, comparison 'sig_x==0' is always false.
[assignIfError]

The source code is

      sig_x = (x & MASK_BINARY_SIG2) | MASK_BINARY_OR2;
      // check for zero or non-canonical
      if (sig_x > 9999999999999999ull || sig_x == 0) {

but

$ fgrep MASK_BINARY_OR2 `find trunk.git/libgcc/config/libbid -name \*.h -print`
trunk.git/libgcc/config/libbid/bid_internal.h:#define MASK_BINARY_OR2          
      0x0020000000000000ull
$

so the test for sig_x == 0 does look pointless to me.

Some duplicates in the same file:

trunk.git/libgcc/config/libbid/bid64_noncomp.c:143:39: style: Mismatching
assignment and comparison, comparison 'sig_x==0' is always false.
[assignIfError]
trunk.git/libgcc/config/libbid/bid64_noncomp.c:391:37: style: Mismatching
assignment and comparison, comparison 'sig_x==0' is always false.
[assignIfError]
trunk.git/libgcc/config/libbid/bid64_noncomp.c:614:37: style: Mismatching
assignment and comparison, comparison 'sig_x==0' is always false.
[assignIfError]
trunk.git/libgcc/config/libbid/bid64_noncomp.c:629:37: style: Mismatching
assignment and comparison, comparison 'sig_y==0' is always false.
[assignIfError]
trunk.git/libgcc/config/libbid/bid64_noncomp.c:836:37: style: Mismatching
assignment and comparison, comparison 'sig_x==0' is always false.
[assignIfError]
trunk.git/libgcc/config/libbid/bid64_noncomp.c:852:37: style: Mismatching
assignment and comparison, comparison 'sig_y==0' is always false.
[assignIfError]

Reply via email to