[petsc-dev] technical C question
Barry Smith
bsmith at mcs.anl.gov
Thu Apr 7 14:28:42 CDT 2016
We have code
return (BT_idx = index/PETSC_BITS_PER_BYTE,
BT_c = array[BT_idx],
BT_mask = (char)(1 << index%PETSC_BITS_PER_BYTE),
array[BT_idx] = (char)(BT_c | BT_mask),
(char)(BT_c & BT_mask));
inside
petscbt.h
the clang static code analyzer reports
In file included from /sandbox/petsc/petsc.clone/include/petsc/private/matimpl.h:1233:
/sandbox/petsc/petsc.clone/include/petscbt.h:85:36: warning: The result of the '<<' expression is undefined
BT_mask = (char)(1 << index%PETSC_BITS_PER_BYTE),
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Is the code wrong/unnecessary or clang?
Thanks
More information about the petsc-dev
mailing list